将参数传递给多次调用的外部JS文件

时间:2019-01-10 07:01:24

标签: javascript parameter-passing

我使用的技术需要对同一外部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*

1 个答案:

答案 0 :(得分:0)

您要查找的内容与JS行为不一致。当您要求浏览器两次将相同资源(图像,视频或本例中的JS文件)引入两次时,它只会带来一次。但是你为什么会这样呢?为什么不简单地使用

功能a(someId){...}

,然后将其发送给1234或1235。我认为应该简单得多。 顺便说一句-我从未听说过data-use =“ this”或data-use =“ that”。那是一些新的JS语言吗?