我正在尝试创建一个需要能够从另一个域发送和接收数据的 javascript 插件。
从概念上讲,插件很简单:
- 用户安装一段 javascript 代码
- 该代码与中央服务器(在另一个域上)进行通信,发送一些关于用户站点的信息(一种查询形式)并返回一些信息
服务器域将完全由我控制,但正如您所见,最终用户应该能够通过安装一段 javascript 代码来使用该插件。
这可能吗?如果可以,最简单的实现形式是什么?
谢谢!
我正在尝试创建一个需要能够从另一个域发送和接收数据的 javascript 插件。
从概念上讲,插件很简单:
服务器域将完全由我控制,但正如您所见,最终用户应该能够通过安装一段 javascript 代码来使用该插件。
这可能吗?如果可以,最简单的实现形式是什么?
谢谢!
您的基本问题将是规避 JavaScript(维基百科)的同源策略。如果您只想在客户端使用 JavaScript,基本上您有两种选择:
CORS(跨域资源共享):在这里你可以在你的域上启用共享,用户端的 JavaScript 将能够与任何数据进行交互,就好像它在他们自己的服务器上一样,因此你没有同源的问题政策。您可以像与自己的服务器交互一样执行 AJAX 请求。有关如何在您的服务器环境中激活此功能的详细信息,请参见此处。但是请注意,旧浏览器不支持此功能,请参阅caniuse.com了解详细信息。
JSONP:所有请求都使用 JSONP 语法。维基百科上的主题