我正在根据这个网站建立一个书籍小册子: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'之后尝试过,没有成功,有什么想法吗?
答案 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中,您只需访问变量。