это очень старая ветка, я знаю, но это может помочь, если кто-то попадет сюда после поиска решения.
В основном я использовал document.currentScript, чтобы получить элемент, из которого мой кодработает, и я фильтрую, используя имя переменной, которую я ищу.Я сделал это, расширив currentScript методом «get», поэтому мы сможем извлечь значение внутри этого скрипта, используя:
document.currentScript.get('get_variable_name');
Таким образом, мы можем использовать стандартный URI для извлечения переменных бездобавление специальных атрибутов.
Это окончательный код
document.currentScript.get = function(variable) {
if(variable=(new RegExp('[?&]'+encodeURIComponent(variable)+'=([^&]*)')).exec(this.src))
return decodeURIComponent(variable[1]);
};
Я забыл об IE :) Это не может быть проще ... Ну, я не упомянул, что document.currentScript является свойством HTML5.Он не был включен для разных версий IE (я тестировал до IE11, и его еще не было).Для совместимости с IE, я добавил эту часть в код:
document.currentScript = document.currentScript || (function() {
var scripts = document.getElementsByTagName('script');
return scripts[scripts.length - 1];
})();
Здесь мы определяем некоторый альтернативный код для IE, который возвращает текущий объект сценария, который требуется в решении для извлеченияпараметры из свойства src.Это не идеальное решение для IE, поскольку существуют некоторые ограничения;Если скрипт загружается асинхронно.В новых браузерах должно быть свойство ".currentScript".
Надеюсь, это поможет.