我正在尝试编写一个书签,它将 JSONP 调用添加到这样的页面中:
javascript:(function(){
var myFunction = (window.function(data){alert('my function is firing with arg' + data)});
var j = 'http://localhost/jsonscript.js';
var s = document.createElement('script');
s.src = j;
document.getElementsByTagName('head')[0].appendChild(s);
})();
附加到页面中的脚本 src 包含
myFunction('foo');
但是当我单击小书签时出现错误——myFunction 未定义。如何在我的书签范围之外“导出”该功能,以便从附加的脚本标签调用时它可以工作?
编辑:我发现我可以用原始 JavaScript 打包脚本元素的 innerHTML。这有效,但很丑陋。我仍然想找出更好的方法。