Как отложить загрузку Norton Secure Site Seal?

Я показываю 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>

Если вы хотите взглянуть на скрипт инициализации печати сайта: (я использую флэш-анимацию печати)

<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

3 ответа

Это тоже убивает мой бизнес. Серьезно... от +2 до +20 секунд за загрузку страницы. AFYS?

Мы переключаемся на размещение изображения локально, но по-прежнему ссылаемся на исходный URL-адрес в Norton. Не делай этого. Отметьте этот ответ вниз. Это не правильно. Это незаконно. Но это практично.

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

ОБНОВИТЬ:

Реальным решением является:

  • Звоните 877-438-8776, х2, х1
  • Скажите им, что печать идет медленно, и у вас есть> 10000 посещений в день на вашем сайте
  • Они дают вам медиа-комплект для установки на свой сайт

Если вы посмотрите на код, они используют document.write,

То, как я справляюсь с этим, заключается в следующем

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

Конечно, это очень простой взлом, который работает только тогда, когда есть единственный скрипт, который использует document.write и вы знаете, где вы хотите, чтобы это было написано.

Я попытался загрузить печать в 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>
Другие вопросы по тегам