【发布时间】:2019-01-10 07:01:24
【问题描述】:
我使用的技术需要对同一个外部 JS 进行不同的调用。外部 JS 在 iframe 内调用并在那里创建输出。例如:
// Placement 1
<script async id="1234" src="external.js"></script>
// Placement 2
<script async id="1235" src="external.js"></script>
我知道有各种相关的问题,但他们都假设外部文件只被调用一次,所以它不需要选择从哪个 ID 获取参数。
external.js 内部有没有办法知道哪个 ID 调用了它并使用了它的参数?例如,根据调用它的 ID 使用“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*
【问题讨论】:
-
如果您一开始就无权访问该外部脚本,则无法实现此目的。
-
(“没办法”可能太绝对了;如果脚本启用了 CORS,您可以通过 AJAX 获取它,然后在您预先提供一些变量值的上下文中对其进行评估。 )
标签: javascript parameter-passing