Javascript Opera用户脚本加载太频繁

Javascript Opera用户脚本加载太频繁,javascript,jquery,opera,userscripts,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

我制作了用户脚本。我在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');
    }
)();
我的问题是它显示警报消息的次数太多了, 每次在警报标题中使用不同的域

我知道这是Facebook和广告窗口的错。

在加载站点上的所有脚本后,是否可以加载用户脚本?

问题似乎是Opera正在为每个iframe启动脚本。将此代码添加到脚本顶部应该可以清除以下问题:

if (window.top != window.self)  //-- Don't run on frames or iframes.
    return;

此外,还不清楚您是否按照Opera的预期设置了脚本的目标

除非您是,否则请确保您的代码由域/URL感知包装,如下所示:

if (location.hostname.indexOf('example.com') != -1) {
    // YOUR CODE HERE
}

请参阅。

问题似乎在于Opera正在为每个iframe启动脚本。将此代码添加到脚本顶部应该可以清除以下问题:

if (window.top != window.self)  //-- Don't run on frames or iframes.
    return;

此外,还不清楚您是否按照Opera的预期设置了脚本的目标

除非您是,否则请确保您的代码由域/URL感知包装,如下所示:

if (location.hostname.indexOf('example.com') != -1) {
    // YOUR CODE HERE
}

请参阅。

非常有用,谢谢:)如果我对这个脚本有问题,我在这里写道。您好,这是关于使用Stackoverflow的一个小提示:请将上面的答案标记为“已接受”。这有助于我们了解问题的答案。这非常有帮助,谢谢:)如果我对这个脚本有问题,我在这里写道。嗨,这是关于使用Stackoverflow的一个小提示:请将上面的答案标记为“已接受”。这有助于我们知道问题已经得到了回答。