为什么getURL(“www.zhoyosoft.com”)功能在Flash CS3中不起作用?

时间:2009-03-27 04:19:33

标签: flash

我是flash开发人员的初学者我不知道为什么getURL(“www.zhoyosoft.com”)函数在Flash CS3中不起作用,它会在打开新的浏览器窗口时抛出错误(调用可能未定义的方法getURL) 。任何人都可以帮忙吗?

6 个答案:

答案 0 :(得分:7)

尝试添加http://就像这样。

getUrl("http://www.zhoyosoft.com")

或者,因为您使用ActionScript3试试这个:

var url:String = "http://www.zhoyosoft.com";
var request:URLRequest = new URLRequest(url);
try {
  navigateToURL(request, '_blank');
} catch (e:Error) {
  trace("Error occurred!");
}

答案 1 :(得分:3)

与URLRequest.url一样,目的地必须包含协议

getURL("http://www.zhoyosoft.com");
编辑:好的,显然你使用的是AS3而不是AS2。 getURL()在AS3中被navigateToURL()替换。您可以像这样实现getURL():

import flash.net.navigateToURL;
import flash.net.URLRequest;

public static function getURL(url:String, window:String = null):void
{
    navigateToURL(new URLRequest(url), window);
}

答案 2 :(得分:2)

确保嵌入Flash应用程序的位置没有parameter: <param name=“allowScriptAccess” value=“never” />

MySpace和其他大多数允许用户嵌入小部件的网站都会阻止getURL。原因是getURL可用于在当前用户和站点的上下文中执行javascript。

答案 3 :(得分:2)

Ben是对的,但您也可以将其写成1行:

  navigateToURL(new URLRequest("http://www.zhoyosoft.com"), "_blank");

答案 4 :(得分:1)

<param name="AllowScriptAccess" value="always">
and
<embed type="application/x-shockwave-flash"
        href="http://www.anothersite.com/thing.swf"
        AllowScriptAccess="always">
</embed>

来源:http://helpx.adobe.com/flash-player/kb/changes-allowscriptaccess-default-flash-player.html

答案 5 :(得分:0)

您的问题很可能是因为Adobe Flash Player的较新版本(从9.0.115.0开始)默认情况下更改了安全策略,使得GetURL()和fscommand()方法无效。

要使它们工作,您需要将嵌入对象属性AllowScriptAccess更改为“always”。它由defaut设置为“sameDomain”。您可以在Adobe网站上找到有关此问题的更多信息:http://kb2.adobe.com/cps/403/kb403183.html#main_DIAGNOSIS

如果这不是问题,请在下拉选项中选中Flash选项卡上的发布设置窗口,该选项允许您选择本地访问或网络访问。

如果没有,在这里您对AS 2.0的GetURL方法有一个很好的完整解释: http://www.adobe.com/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001180.html

不知道您将如何使用/实现此目的,但我希望此信息可以帮助您。