如果某个程序可能会为JSONP调用创建多个<script>
元素,那么在添加之前删除旧元素是一个好习惯吗?为什么呢?
在我的情况下,将创建的元素保存在变量中不是一个选项。
如果你不删除之前的通话,结果可能会像这样看到(或者乘以千倍):
<script src="https://example.com/script1"></script>
<script src="https://example.com/script2"></script>
<script src="https://example.com/script3"></script>
但如果您执行删除以前的通话,则必须为脚本设置id
:
<script id="jsonp-call" src="https://example.com/script1"></script>
<!-- Then it'll become -->
<script id="jsonp-call" src="https://example.com/script2"></script>
<!-- And after that -->
<script id="jsonp-call" src="https://example.com/script3"></script>
答案 0 :(得分:1)
由于script
标记在用于JSONP时纯粹是一种传输机制,因此我会在它完成工作后立即清理它:在JSONP回调中,或者当它超时时。所以我不会让他们四处闲逛,我不会等到下一次打电话来清理前一次。