Я пытаюсь загрузить это решение для удаленной отладки для отладки / взаимодействия с DOM / js live. В инструкциях вас попросят поместить блок script
и ссылку script
на HEAD
страницы, чтобы все это заработало. Все в порядке. Это отличный инструмент.
Но что, если бы мне нужен был способ, похожий на букмарклет, просто "вставить" его на любую страницу. Я не понимаю, почему этого нельзя сделать.
Это мой букмарклет:
javascript:(function(){document.body.appendChild(document.createElement('script')).src='http://url-to-js-file.js?x='+(Math.random());})();
А затем «url-to-js-file.js» загружает js для iphonedebug :
ipdConfig = {
baseUrl: '/ipd/', // trailing slash!
consoleBaseUrl: 'http://192.168.1.25:8170/' // trailing slash!
}
document.body.appendChild(document.createElement('script')).src='http://192.168.1.25/ipd/ipd.js';
console.log('fin.');
Обратите внимание, что изначально свойство src
было "/ipd/ipd.js", как это и предлагается в инструкциях. Но это должно быть абсолютно так, если я хочу, чтобы отладчик работал с другими сайтами.
Моя проблема в том, , что этот код выведет первый js-файл (url-to-js-file.js) на страницу, но когда первый файл попытается вставить другие последовательные файлы, моя страница появляется для перенаправления. На самом деле он не перенаправляет, а просто переписывается. Firebug показывает результирующую страницу без тела, а только файлы ipd js в элементе HEAD
.
Почему он это делает?
Это из-за поведения bookmarklet , которое обычно перенаправляет на новую страницу? Я так не думаю. Потому что я использую замыкание в ссылке на букмарклет. И когда я закомментирую строку document.body...
файла "url-to-js-file.js", страница останется там, где она есть. Это вложение? Или это может быть что-то в других файлах ipd js, вызывающих это?
Я пытался поместить свой код "url-to-js-file.js" в замыкание, но затем глобальная переменная ipdConfig
становится невидимой для остальной части кода ipd, которая его нарушает.
Есть идеи?