Получить исходный URL тега сценария в Javascript на iPhone через 3G - PullRequest
0 голосов
/ 18 февраля 2011

У меня есть виджет JavaScript, который встроен в сторонние веб-сайты.Он должен загружать другие ресурсы (CSS, flash и т. Д.) Относительно себя (а не относительно страницы, на которой он размещен).

Для этого я просматривал все теги скрипта на страниценайти тег скрипта и получить из него свойство src.

например

path = '';
$('script').each(function(i, script) {
  var src = $(script).attr('src');
  if ('name-of-widgets-file.js' === src.replace(/^.*[\/\\]/g, '')) {
    return path = src.substring(0, src.lastIndexOf('/'));
  }
});

Это работает на всех устройствах, на которых я его пробовал, кроме iPhone на 3Gсоединение!При подключении через 3G iPhone возвращает undefined для атрибута src тега сценария!

У кого-нибудь есть какие-нибудь идеи для решения этой проблемы?Возможно, другой способ получить URL-адрес тега текущего исполняемого скрипта?

1 Ответ

0 голосов
/ 18 февраля 2011

Я нашел хорошую работу для этого.

Вместо того, чтобы искать скрипт после его запуска, я сейчас работаю с path во время выполнения скрипта. В этом случае iPhone возвращает атрибут src при подключении 3G.

var scripts = document.getElementsByTagName('script');
var script = scripts[scripts.length - 1];
var src = script.src;
if (!src) {
  return '';
}
return src.substring(0, src.lastIndexOf('/'));
...