我正在考虑分发一个Flash游戏,可以将Facebook JS注入任何将托管它的网页(许多免费的Flash游戏门户).我可以window.open在主页设置时登录Facebook对话框allowScriptAccess.
我的一个想法是如何解决跨域登录问题(如何将accessToken返回到我在未知域上托管的Flash游戏,而不与跨域JS和所有这些浏览器问题作斗争)
redirect_uri以允许域redirect_uri并通过活动的accessToken(CODE)和标记重定向到
因为我不是律师,那些facebook政策文件对我来说是不可理解的......
问题: facebook是否允许在任何域上进行此类登录?我觉得我会以这种方式解决一些安全问题.
我有一个复杂的Flash Builder工作区,包含18个Flex库项目和1个AS3应用程序项目,它们之间存在许多依赖关系.
我已经为自动构建创建了一个ANT build.xml文件,但是我使用Flash Builder本身的ANT任务:
<fb.exportReleaseBuild project="..." destdir="..." failonerror="true" />
Run Code Online (Sandbox Code Playgroud)
它有效,但它带来一些缺点:
所以我的问题是:有没有一种简单的方法如何通过项目用mxmlc和重写这个fb.exportReleaseBuild ANT任务到小任务compc?
每个swc项目都有4个其他swc依赖项和其他需要链接嵌入的外部资产.
我有一个Flex 4应用程序,它连接到基于FluorineFx的ASP.NET webservice .它通过cookie验证RemoteObject.setCreadentials()
两个应用程序都连接到FMS服务器,并通过RTMFP直接连接(P2P)相互通信.
我想通过单击(F11)一次在Firefox和Internet Explorer中调试此应用程序的两个实例.
现在我只能在一个浏览器中通过在Flash Builder 4中运行Debug来调试.我创建了双浏览器运行器,其中bat文件注册为默认浏览器Preferences > General > Web browser,如下所示:
start "IE" /b "c:\Program Files (x86)\Internet Explorer\iexplore.exe" -private %1
start "FF" /b "c:\Program Files (x86)\Mozilla Firefox\firefox.exe" -private %1
Run Code Online (Sandbox Code Playgroud)
但这只是将调试器连接到Internet Explorer中首先运行应用程序的实例.
如何附加和调试两个实例?
谢谢.
之前的问题是将二进制编码Int32为一个Int64[ C# - 从两个Int32中创建一个Int64
问题:如何将一个解码Int64回两个Int32?
我看了,无处不在有很多例子如何做属性名称解析,但我没有发现这会解决我的用法.
我的想法User看起来像这样:
class Entity<T> where T : class
{
public static String GetName<T>(Expression<Func<T, object>> expr)
{
return ((MemberExpression)expr.Body).Member.Name;
}
}
class User : Entity<User>
{
public String UserName { get; set; }
public DateTime LastLoggedOn { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
问题:如果我想这样使用它,如何实现属性名称解析?
Debug.Assert("UserName" == User.GetField(x => x.UserName));
Debug.Assert("LastLoggedOn" == User.GetField(x => x.LastLoggedOn));
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.谢谢.
注意:我可以做var u = new User();,然后u.GetName(() => u.UserName)在我的情况下,我没有实体的实例
编辑1:感谢Darin,我更新了我的代码.我也需要LastLoggedOn工作.
调试显示,那个值expr是{x => Convert(x.LastLoggedOn)}(不知道转换意味着什么)
InvalidCastException was unhandled …Run Code Online (Sandbox Code Playgroud) 我创建了这个模板函数来查找和删除shared_ptr集合中的项目
template<class T>
bool FindAndDelete(set<shared_ptr<T>>& collection, shared_ptr<T> item)
{
auto foundItem = find(collection.begin(), collection.end(), item);
if(foundItem != collection.end())
{
collection.erase(foundItem);
return true;
}
else
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
问题:我怎样才能更多地概括它以涵盖所有收藏?(矢量,列表等......)
例如
template<class K, class T>
bool FindAndDelete(K<shared_ptr<T>>& collection, shared_ptr<T> item);
Run Code Online (Sandbox Code Playgroud)
注意:我来自C#,所以也许代码有点关闭:)请纠正我
这是我的用例:
我向用户展示一组小型播放视频.当用户点击其中一个小视频时,我会暂停所有小视频并加载点击的视频的更高比特率版本.
一切正常,除非它真的很慢,一些网络诊断表明问题是所有小视频继续加载,即使我在他们的网络上调用了pause().
要重新编写代码:
假设我有:
var nc:NetConnection = new NetConnection();
nc.connect (null);
var ns1:NetStream = new NetStream(nc);
var vid1:Video = new Video(WIDTH, HEIGHT);
vid1.attachNetStream(ns1);
ns1.play("video1.mp4");
stage.addChild(vid1);
Run Code Online (Sandbox Code Playgroud)
几秒钟后... vid1仍在加载,我想要做的是暂停vid1的视频流以及加载vid1的网络流量,以便下面的代码可以尽快运行
ns1.pause();
var ns2:NetStream = new NetStream(nc);
var vid2:Video = new Video(WIDTH, HEIGHT);
vid2.attachNetStream(ns2);
ns2.play("video2.mp4");
stage.addChild(vid2);
Run Code Online (Sandbox Code Playgroud)
...然后一段时间后用户解雇了vid2,所以我恢复了vid1的播放
ns1.resume();
Run Code Online (Sandbox Code Playgroud)
有没有办法告诉ns1停止读取它的套接字?如果我打电话ns1.close(),那么我无法恢复播放ns1.resume().
如果我需要使用流媒体协议,那么在加载所有小视频时握手的重量是多少?我正在尝试快速加载大量低比特率(50kbps)视频.
谢谢!
c# ×2
.net ×1
actionscript ×1
ant ×1
apache-flex ×1
browser ×1
c++ ×1
c++11 ×1
cross-domain ×1
debugging ×1
facebook ×1
flash ×1
policy ×1
reflection ×1
stl ×1