首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >diigolet bookmarklet如何绕过跨脚本?

diigolet bookmarklet如何绕过跨脚本?
EN

Stack Overflow用户
提问于 2011-02-08 06:53:30
回答 1查看 389关注 0票数 1

http://www.diigo.com/tools/diigolet

Diigolet本质上允许您使用bookmarklet为站点添加书签。使用我正在制作的bookmarklet,我还需要将用户所在站点的当前URL传递到我的服务器。每次我尝试这样做时,我都会得到一个跨脚本错误。

有人知道如何像diigolet那样绕过它吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-08 12:20:13

本质上,它们通过使用不同域的URL注入脚本标记而不是使用XMLHttpRequest来执行work around the same-origin policy。请注意,这与普通的JSON请求不同,因为JSON被包装在回调函数中,例如:

代码语言:javascript
运行
复制
myCallbackFunction(<JSON here>);

(这之所以有效,是因为JSON是JavaScript对象文字表示法的子集。)

在他们的例子中,他们将回调函数的名称硬编码为diigolet.callback,但是JavaScript库such as jQuery支持一个名为JSONP的规范。

根据JSONP规范,回调函数的名称通过GET请求中的callback=myCallbackFunction参数传递给服务器。您的服务器端代码需要对此进行适当的处理,以便能够处理来自jQuery的JSONP请求。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4927620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档