правильное добавление кода виджета JavaScript - PullRequest
0 голосов
/ 14 мая 2009

Я даю клиентам код JavaScript, который добавляет виджет на их сайт. В настоящее время я прошу их вставить это прямо над тегом </body>:

<script type="text/javascript">
var myHost = (("https:" == document.location.protocol) ? "https://" : "http://");
document.write(unescape("%3Cscript src='" + myHost + "www.mywebsite.com/mycode.js.php?u="+encodeURIComponent(window.location.host)+"' type='text/javascript'%3E%3C/script%3E"));
</script>

Как видите, код вызывает мой скрипт под http или https url в зависимости от URL страницы.

Иногда, когда html веб-сайта плохо сформирован, скрипт может вызвать «операцию прервана» ошибка в браузерах IE.

Я хочу отправить код клиента, который будет прикреплен к области <head>.

  1. Как я могу обработать http / https при вызове кода из головной части?
  2. Знаете ли вы, если это решит проблему прерванной операции?

Ответы [ 2 ]

2 голосов
/ 14 мая 2009

Похоже, Google обрабатывает свой аналитический код точно так же (что, я уверен, вы знаете). Что ты делаешь в своем коде? Когда я посмотрел предоставленную вами ссылку «операция прервана», она говорит, что это решение для выполнения вашего кода после загрузки страницы.

Я бы порекомендовал привязать функцию к событию onload и выполнить там ваш код, управляющий DOM.

2 голосов
/ 14 мая 2009

Просто дайте им решение HTTPS.

Если их страница безопасна, она будет работать нормально; Если нет, то нет ничего плохого в том, чтобы встроить защищенный объект в небезопасную страницу.

<script type="text/javascript" src="https://www.mywebsite.com/mycode.js.php"></script>

Я вижу, что вы передаете исходный домен в строке запроса. Вы можете получить это из своего кода JS без необходимости передавать его через параметр GET. Вы можете проверить это, используя свойство document.referrer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...