http://www.diigo.com/tools/diigolet
Diigolet本质上允许您使用bookmarklet为站点添加书签。使用我正在制作的bookmarklet,我还需要将用户所在站点的当前URL传递到我的服务器。每次我尝试这样做时,我都会得到一个跨脚本错误。
有人知道如何像diigolet那样绕过它吗?
发布于 2011-02-08 12:20:13
本质上,它们通过使用不同域的URL注入脚本标记而不是使用XMLHttpRequest来执行work around the same-origin policy。请注意,这与普通的JSON请求不同,因为JSON被包装在回调函数中,例如:
myCallbackFunction(<JSON here>);(这之所以有效,是因为JSON是JavaScript对象文字表示法的子集。)
在他们的例子中,他们将回调函数的名称硬编码为diigolet.callback,但是JavaScript库such as jQuery支持一个名为JSONP的规范。
根据JSONP规范,回调函数的名称通过GET请求中的callback=myCallbackFunction参数传递给服务器。您的服务器端代码需要对此进行适当的处理,以便能够处理来自jQuery的JSONP请求。
https://stackoverflow.com/questions/4927620
复制相似问题