Передача параметров во внешний файл JS, который вызывается несколько раз - PullRequest
0 голосов
/ 10 января 2019

Я использую технологию, которая должна выполнять разные звонки на один и тот же внешний JS. Внешний JS вызывается внутри iframe и создает там вывод. Например:

// Placement 1
<script async id="1234" src="external.js"></script>
// Placement 2    
<script async id="1235" src="external.js"></script>

Я знаю, что были различные связанные вопросы, но все они предполагали, что внешний файл вызывается только один раз, поэтому нет необходимости выбирать, из какого идентификатора принимать параметры.

Есть ли способ в external.js узнать, какой идентификатор вызвал его и использовал его параметры? Например, используйте «this» или «that» в зависимости от того, какой идентификатор вызвал его:

<script async id="1234" src="external.js?use=this" ></script>
<script async id="1234" src="external.js?use=that" ></script>
// or
<script async id="1235" src="external.js" data-use="this"></script>
<script async id="1235" src="external.js" data-use="that"></script>
// etc. Even the MYLIBRARY way*

1 Ответ

0 голосов
/ 10 января 2019

То, что вы ищете, не соответствует поведению JS. Когда вы просите браузер принести один и тот же ресурс дважды (изображение, видео или в данном случае файл JS), он принесет его только один раз. Но почему ты так пошел? Почему бы просто не использовать

function a (someId) {...}

и затем отправьте его 1234 или 1235 или что-то еще. гораздо проще, я должен думать. Кстати, я никогда не слышал об использовании данных = "это" или использовании данных = "это". Это какой-то новый язык JS?

...