Flash横幅广告与弹出式窗口拦截器冲突?

时间:2020-03-06 15:02:54  来源:igfitidea点击:

我们一直在使用getURL链接方法(在空白窗口中)创建横幅。对于许多人来说,它工作得很好。我们单击横幅,然后转到我们的网站。对于其他人(包括我),单击Flash对象会触发FireFox中的弹出警告(2和3,均为默认设置)。奇怪的是,并非每个人都这样。它发生在我的主计算机(vista 64,FF3)上,而不发生在我的辅助计算机(XP 64,FF3)上。我也有其他人像我一样运行Vista / FF3,对他们来说效果很好...但对我而言却不然。

一个示例是此页面左侧的300x250标语:
http://www.jguitar.com/

我们很沮丧,不知道为什么会这样。任何反馈将不胜感激。

解决方案

以我的经验,我们需要将链接放入onRelease处理程序(或者as3中的MouseEvent.CLICK)内,以免被阻塞。如果将其设置为onPress或者其他任何设置,它将被阻止。这在某些设置上并不是万无一失的,它还是会被阻止,但这通常是由于在阻止程序上设置了更严格的设置或者类似原因。

使用此代码,并在Flash元素上的HTML代码中使用allowscriptaccess ='always'和wmode ='transparant'或者'opaque'。

private function click(event : MouseEvent) : void {
    getURL(LoaderInfo(root.loaderInfo).parameters.clic kTag);
}

private function getURL(url : String, window : String = "_blank") : void { 
    var browser : String = ExternalInterface.call("function getBrowser(){return 
    navigator.userAgent}") as String; 

    if (browser.indexOf("Firefox") != -1 || browser.indexOf("MSIE 7.0") != -1) { 
        ExternalInterface.call('window.open("' + url + '","' + window + '")'); 
    } else { 
       navigateToURL(new URLRequest(url), window); 
    }
}