如何在javascript中传递变量

时间:2011-05-24 16:08:59

标签: javascript jquery

我正在根据这个网站建立一个书籍小册子:http://www.latentmotion.com/how-to-create-a-jquery-bookmarklet/

这是bookmarlet的代码:

javascript:(function(){
    var head=document.getElementsByTagName('head')0],
         script=document.createElement('script');
    script.type='text/javascript';
    script.src='http://myserver.com/bookmarlet-remote.js?' + Math.floor(Math.random()*99999);
    head.appendChild(script);
})(); 
void 0

如何将bookmarlet(上面的代码)中的变量传递给bookmarlet-remote.js?

我在var myNewvar ='myValue'之后尝试过,没有成功,有什么想法吗?

3 个答案:

答案 0 :(得分:5)

页面上的所有JS代码(包括包含的书签代码和脚本)都可以访问全局范围。如果您定义一个没有var前缀的变量,它将可用于所有其他脚本。

明确这一点可能是一个好主意。请window.myVar = "foo";明确表示您正在使用全局变量。

答案 1 :(得分:1)

在函数中使用var使其成为该函数的本地函数。要使其全局化,您必须将其添加到window的范围内,所以:

window.newVariable = window.newVariable || 'Your new value here';

OR

window['newVariable'] = 'Your new value here';

答案 2 :(得分:0)

你要创建一个公共变量。

window.rnd = Math.floor(Math.random()*99999);

在bookmarlet-remote.js中,您只需访问变量。