use*_*557 1 javascript jquery opera userscripts
我制作了用户脚本.我在Opera 11.62上测试了这个.我有一个代码:
(
function() {
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.id = 'myjQuery';
newScript.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';
headID.appendChild(newScript);
newScript.addEventListener('load', function (e) {
jQuery (
function($) {
alert('loaded');
}
);
},false);
newScript.removeEventListener('load');
}
)();
Run Code Online (Sandbox Code Playgroud)
我的问题是它显示警报消息的次数太多,每次都在警报标题中显示不同的域.
我知道这是Facebook和广告窗口的错.
加载网站上的所有脚本后,我可以加载用户脚本吗?
似乎问题是Opera正在为每个iframe启动脚本.将此代码添加到脚本的顶部应该清除:
if (window.top != window.self) //-- Don't run on frames or iframes.
return;
Run Code Online (Sandbox Code Playgroud)
此外,您不清楚您是按照Opera预期的方式设置脚本的目标.
除非您在Greasemonkey模式下运行脚本,否则请确保您的代码包含在域/ URL感知中,如下所示:
if (location.hostname.indexOf('example.com') != -1) {
// YOUR CODE HERE
}
Run Code Online (Sandbox Code Playgroud)
请参阅Opera手册中的"加载脚本".
| 归档时间: |
|
| 查看次数: |
206 次 |
| 最近记录: |