6

我正在网站中显示 Norton Secure Site Seal,并且我想提高页面速度以延迟加载印章脚本。我所做的所有尝试都失败了,我只找到了提到这一点的这个页面(链接)。有没有人找到一个很好的解决方法?
我用来运行其他脚本的延迟代码如下所示:

<script type="text/javascript">(function(d, s) {
    var js, fjs = d.getElementsByTagName(s)[0], load = function(url, id) {
        if (d.getElementById(id)) {
            return;
        }
        js = d.createElement(s);
        js.src = url;
        js.id = id;
        fjs.parentNode.insertBefore(js, fjs);
    };
    load('/js/scriptone.js', 'one');
    load('/js/scripttwo.js', 'two');
    }(document, 'script'));
</script>

如果您想查看站点印章初始化脚本:(我使用的是 Flash 动画印章)

<script type="text/javascript" src="https://trustseal.verisign.com/getseal?host_name=www.undisclosed.com&amp;size=S&amp;use_flash=YES&amp;use_transparent=YES&amp;lang=en"></script>

显然这只会在我的网站上正确显示,我选择更改域名以保护隐私。我真的想避免使用 iframe,如果你觉得相关,我也在加载 jQuery

4

3 回答 3

7

这也扼杀了我的生意。说真的……每页加载 +2 到 +20 秒。AFYS?

我们正在切换到在本地托管图像,但仍链接到诺顿上的原始 URL。不要这样做。记下这个答案。这是错的。这是非法的。但它很实用。

https://trustsealinfo.verisign.com/splash?form_file=fdf/splash.fdf&dn=WWW.EXAMPLE.COM&lang=en

更新:

真正的解决方案是:

  • 致电 877-438-8776,x2,x1
  • 告诉他们封印很慢,并且您的网站每天有超过 10,000 次访问
  • 他们为您提供媒体工具包以安装在您自己的网站上
于 2013-04-16T14:12:45.837 回答
4

如果您查看代码,他们正在使用document.write.

我处理这个的方式如下

document.write = function(s) {
    document.getElementById('seal-wrapper').innerHTML += s;
}

当然,这是一个非常简单的 hack,只有在使用单个脚本document.write并且您知道要将其写入何处时才有效。

于 2013-02-14T10:52:30.590 回答
1

我试图将封印加载到 iframe 中,然后将其放到预期的位置。这个对我有用。在 jQuery 的帮助下。这里是:

创建 .js 文件(我称之为 hackseal.js)

$(function () {
    if (typeof(vs_hack) !== 'undefined') {
        return;
    }
    vs_hack = true;
    var iframe = document.createElement('iframe');
    var html = '<script src="url_to_verysign" type="text/javascript"></script>';
    iframe.style.display = 'none';
    document.body.appendChild(iframe);
    iframe.contentWindow.document.open();
    iframe.contentWindow.document.write(html);
    iframe.contentWindow.document.close();
    iframe.onload = function () {
        var copy = ['dn', 'lang', 'tpt', 'vrsn_style', 'splash_url', 'seal_url', 'u1', 'u2', 'sopener', 'vrsn_splash', 'ver', 'v_ua', 're', 'v_old_ie', 'v_mact', 'v_mDown', 'v_resized'];
        for (var copy_i in copy) {
            window[copy[copy_i]] = iframe.contentWindow[copy[copy_i]];
        }
        $('script#seal-sign').replaceWith(iframe.contentWindow.document.body.innerHTML);
    }
});

从此更改原始代码

<script type="text/javascript" src="url_to_verysign"></script>

对此

<script id="seal-sign" type="text/javascript" src="url_to_hackseal.js"></script>
于 2014-12-10T14:05:00.930 回答