Flash获取url ,ExternalInterface使用

1.JS  escape方法

String 对象编码以便它们能在所有计算机上可读,

escape(charString)

必选项 charstring 参数是要编码的任意 String 对象或文字。

说明

escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 \"%20\"

字符值大于 255 的以 %uxxxx 格式存储。

注意   escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI encodeURIComponent 方法。

2. flash获取自身swfurl

   _root._url

3.flash获取网站的url

CODE:import flash.external.*;

var urlPath;

var param_info;

function geturlhttp() {

urlPath = ExternalInterface.call('', 'window.location.href');

//如果使用urlPath = ExternalInterface.call("window.location.href.toString");的话IE不识别,不过我测试了一下,也没有问题

param_info = urlPath.split("?")[1];

}

geturlhttp();

urlText.text = urlPath;

if(param_info == undefined){

     param.text = "no param";

}else{

     param.text = param_info;

}

4.Flash中调用JS的两种途径和ExternalInterface使用技巧

getURL("javascript:alert('Hello world');");

来调用js,或者用ExternalInterface.call("alert","Hello world");

getURL("javascript:document.write('Hello world'););

或者

ExternalInterface.call("docment.write","Hello world");

!!!!! Flash里可以把字符串转成表达式来运行,也常出现在使用ExternalInterface.call

ExternalInterface.call("","alert(3)");

把真正运行的函数加参数一起当字符串参数写在后面的。也算是第二种使用方法。

你可能感兴趣的:(Flash获取url ,ExternalInterface使用)