Webkit, загружающий файл JavaScript и порядок выполнения - PullRequest
2 голосов
/ 21 декабря 2009

Я пытаюсь создать виджет XSS и у меня возникают проблемы с браузерами Webkit, загружающими внешние файлы javascript, которые я добавляю в dom. Это работает как показано ниже:

  • Widget.js добавляет 3 файла javascript в dom (jquery, data, content)
  • Jquery.js - это стандартный jquery с пользовательским пространством имен
  • Data.js - это массив javascript
  • Content.js - это набор инструкций jQuery для построения виджета на основе данных в Data.js

В Firefox браузер делает ровно 100% времени, что ему говорят, и виджет загружается везде, где вы разместили включающий JavaScript на странице.

Однако в Webkit, т. Е. В Safari, браузер возвращает 3 файла в случайном порядке и выполняет один раз. Это означает, что когда Content.js ищет $, чтобы выполнить магию jquery, он не работает. Аналогично, если jQuery доступен и загружает данные поздно, если происходит сбой из-за недостатка данных.

Предложения, пожалуйста?

1 Ответ

0 голосов
/ 21 декабря 2009

Лучший способ сделать это - просто объединить файлы на сервере - таким образом вы переходите от 3-х http-запросов к одному, и сценарии анализируются и выполняются вместе.

Если вы не можете этого сделать, нужно ли добавлять теги сценариев, добавляя их в dom? Если вы только добавили их в HTML, он должен работать:

<script src="widget.js"></script>
<script src="jquery.js"></script>
<!--etc -->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...