gpt4 book ai didi

javascript - 插入站点时修改脚本

转载 作者:行者123 更新时间:2023-11-28 19:04:45 24 4
gpt4 key购买 nike

我有从外部站点提取脚本的代码。

var url = "//example.com/script-url.js";
$.ajax({
url: url,
dataType: 'jsonp'
});

它工作正常,但是,它提取的脚本是由第三方站点生成的。当它加载到我的网站时,我需要修改它引入的脚本。

第三方脚本以此开头:

(function() {

document.getElementById("weedmenuPane").innerHTML = //script continues

脚本中的进一步内容是 weedmenuPane 的另一个实例。

我需要将 ID weedmenuPane 修改为另一个 ID。当脚本插入我的网站时,有办法做到这一点吗?

注意:我无法控制插入网站的第三方脚本。

最佳答案

由于该脚本来自第三方站点,因此它是一个跨源脚本。因此,您无法使用 Ajax 调用直接检索它,除非它所在的服务器恰好支持 CORS。

从客户端,它只能通过将其插入为 <script> 来用作 JSONP标签将在您有机会修改它之前立即执行它。所以,这里运气不好。

另一种选择是让您的客户端从您的服务器请求脚本。然后,您的服务器可以从其他站点检索它(由您的服务器访问时没有跨源限制)。然后,您的服务器可以在将脚本返回给您的客户端之前修改该脚本。

<小时/>

仅供引用,另一种解决方法似乎您可以暂时修改您的网站以使用 weedmenuPane id 在脚本运行时(以便它在您想要的对象上运行),然后在脚本运行后,您可以将 id 恢复为之前的值。

关于javascript - 插入站点时修改脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31931444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com