打印

[AS3] 发现一个IE7里navigateToURL打开新窗口不被拦截的方法

做一个sprite,变量A,里面有按钮B,设置好这个按钮B单击事件为使用navigateToURL打开新窗口的函数,flash运行时sprite A是隐藏的,就是A.visible=false

这时外面可以做个按钮C,单击这个按钮C之后,把隐藏的sprite A的visible属性改成true,这个时候点击按钮B,就触发navigateToURL打开新窗口,不会被IE7拦截

不知道有没有通用性,我自己的IE7测试没问题,举例说明http://www.dpxq.com/hldcg/dhtmlxq/DhtmlXQ_show.htm

这个页面最底下的那个是 FLASH 做的中国象棋动态棋盘,点"保存",会弹出个提示sprite,点确定就打开我预定的窗口了,不被拦截,原来我设计是点击"保存"直接弹窗口,被拦截了,如果大家测试都可以,不被拦截那说明IE7只拦截单击那些flash刚运行时"直接可见按钮"的navigateToURL函数弹出功能,希望大家的IE7也是如此,呵呵
东萍象棋网络杂志,荟萃中国象棋精华。
首页:http://www.dpxq.com
投稿:http://www.dpxq.com/bbs
照你这样说,所有addChild到场景的按钮都不会被拦截?
yiyiflashstudio.com
ExternalInterface.call("window.open",url,window);

这种适应性其实已经可以了。
yiyiflashstudio.com
我也想这样,但是ExternalInterface.call("window.open",url,window);我的IE7无法用ExternalInterface.call开窗口,很奇怪的,不知道为何啊,并且我设计的flash使用这个之后,别人也无效,你知道什么原因么?

2楼你测试的行么?不是addChild的按钮,是flash刚打开时候visible为false的按钮
东萍象棋网络杂志,荟萃中国象棋精华。
首页:http://www.dpxq.com
投稿:http://www.dpxq.com/bbs

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
ExternalInterface.call 我只能在 用alert那些东西玩玩,但是window.open不好使啊,我也是很郁闷的
东萍象棋网络杂志,荟萃中国象棋精华。
首页:http://www.dpxq.com
投稿:http://www.dpxq.com/bbs

TOP

给我个ExternalInterface.call开窗口的例子我去看看
东萍象棋网络杂志,荟萃中国象棋精华。
首页:http://www.dpxq.com
投稿:http://www.dpxq.com/bbs

TOP

要做好的现成的在网上放着的swf文件啊,代码我不要
东萍象棋网络杂志,荟萃中国象棋精华。
首页:http://www.dpxq.com
投稿:http://www.dpxq.com/bbs

TOP

顶一下,有没有解决的?
东萍象棋网络杂志,荟萃中国象棋精华。
首页:http://www.dpxq.com
投稿:http://www.dpxq.com/bbs

TOP

调用外部JS如果用open是会被拦截的,具体看这里
http://hi.baidu.com/kx1115/blog/ ... 6ef4e92f73b353.html

TOP

呵呵,是的,肯定被拦截,3楼估计自己没亲自测试过,那个ExternalInterface.call("window.open",url,window);现在的flash9.0下根本不行啊
东萍象棋网络杂志,荟萃中国象棋精华。
首页:http://www.dpxq.com
投稿:http://www.dpxq.com/bbs

TOP

AS3后一直没有接触过这方面的应用。就是别人问的时候才知道的,不过都是不了了之。
抱歉了阿。

其实说真的,窗口被拦截就被拦截了算了。现在反拦截都是些利用漏洞的方法,这样的方法迟早都会被修正的。不是长久之计。

现在调FLASH文件本身就会被拦截,久而久之,也许用户会理解的。。。

安全性这样的东西本来就是……
yiyiflashstudio.com

TOP

不一定算漏洞吧,也许MS理解成,你自己把隐藏的东西调出来的,自己肯定知道咋回事,就不需要再拦截了
MS自己搞模态窗口,自己不禁止,呵呵,这个跟安全性也有关啊,绝对不能理解
东萍象棋网络杂志,荟萃中国象棋精华。
首页:http://www.dpxq.com
投稿:http://www.dpxq.com/bbs

TOP

拦截窗口是为了防止不经用户允许就自动打开的新窗口。
现在你既然是用AS语句执行的,那条语句就不一定是在onPress这一类的事件函数中,也就是说如果对方没有禁止FLASH播放,就有可能有人不怀好意地在FLASH中加入打开新窗口的语句,打开的新窗口光是广告就好了,但也有可能是病毒之类的。

现在用的那些都是JS的漏洞。都是些可以自动打开窗口的功能,如果不修正的话,浏览器安全性得不到保障。

以前无边窗口这样的技术之所以被毁了也是为了防止系统打开一些用户看不到的窗口来执行特殊的语句。



除非FLASH自己增加一条必须放在鼠标按下事件中才能执行的打开新窗口的语句,然后和拦截窗口的制作者商量好,否则这种操作始终都是不安全的。
yiyiflashstudio.com

TOP