gpt4 book ai didi

没有 <script> 标签的 JavaScript 代码注入(inject)

转载 作者:行者123 更新时间:2023-11-30 06:46:53 24 4
gpt4 key购买 nike

客户端脚本从服务器拉取一些 HTML 到页内弹出窗口(shadowbox 等)。

我怀疑这是通过 jQuery 的 .html() 某处完成的。

长话短说,以下失败:

<script type="text/javascript"> myFunc(); </script>

不幸的是,我无法修改客户端代码(因此我无法通过替代 channel 传递和执行 JavaScript 代码)。

我实现此功能的一种方法是将以下内容作为 HTML 的一部分返回:

<img src="." onerror=" myFunc(); "/>

事后看来,我本可以使用有效的图像 URL 和 onload,但如果这两个事件都有效,我宁愿使用错误的路径让浏览器立即引起调用(少一个 HTTP/缓存查找)。

关于目前的设置,我想听听您的意见,也许还有更好的解决方案。

编辑:

让我们假设这是我不能搞乱的客户端代码:

jQuery.get('test.php',function(data){
jQuery('#popup').html(data);
});

这是test.php返回的数据:

Hello!
<script type=text/javascript> myFunc(); </script>

以下是我提出的解决方案:

Hello!
<img src="." onerror=" myFunc(); "/>

最佳答案

您可以在 <body> 上使用 onload .

<body onload="myFunc();">

关于没有 &lt;script&gt; 标签的 JavaScript 代码注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5759518/

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