gpt4 book ai didi

javascript - 直接在 HTTP 响应中执行 javascript

转载 作者:可可西里 更新时间:2023-11-01 16:09:55 26 4
gpt4 key购买 nike

几年前我写了一个系统,我很确定我能够直接从 HTTP 响应执行 javascript。

我所做的是将 Content-Type 设置为 application/javascript,然后将脚本简单地包含在响应正文中。

现在我尝试用一​​个简单的警报来做同样的事情:alert('Hello world'); 作为 HTTP 响应主体。但浏览器并不执行脚本,只是将其视为文本。

我是做错了什么,还是永远不可能? (这不是 ajax 请求)。

最佳答案

这就是 JSONP 的工作原理。只需添加 <script />标签,其 src设置为您要执行的远程脚本,您就可以开始了。

在您的应用程序中:

var tag = document.createElement("script");

tag.src = "/your-remote-page/";
document.getElementsByTagName("head")[0].appendChild(tag);

/你的远程页面:

alert("Hi");

有关 JSONP 的更多信息,请参阅 Can anyone explain what JSONP is, in layman terms?

如果您的响应有条件地返回文件或 JavaScript 响应,那么我不知道有什么方法可以让用户下载文件,执行 JavaScript。用于处理这些响应的方法是相互排斥的。 要么你注入(inject)一个<script />标记(用于 JavaScript),或提交表单/ anchor (文件下载)。

关于javascript - 直接在 HTTP 响应中执行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23906477/

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