javascript-谷歌翻译(在工具栏中)如何解决跨站点脚本限制?

我最近安装了Google工具栏,并使用了“单词翻译”功能,将鼠标悬停在单词上(例如,您正在浏览法国报纸《世界报》),它会显示英语翻译.很酷.

但是我想知道他们是如何实现这一目标的?显然,他们工具栏插件中的代码(javascript?)必须与服务器对话以进行查找.但是域是lemonde.fr,所以这不是不可能的跨域请求吗?该工具栏可在任何站点上使用,因此该站点无需安装特殊代码.

还是网站本身内嵌的浏览器插件代码和javascript规则不同?

解决方法:

域之间的常规XMLHttpRequest被浏览器阻止,但这并不是发送跨站点请求的唯一障碍.解决该问题的常用方法JSONP,实际上与添加脚本元素相同:

<script type="text/javascript"
         src="http://google.com/translate.js?word=baguette">
</script>

该< script>标记会从Google请求-它不需要POST,也不是严格的AJAX,也不会被阻止.如果Google返回了明智的答复,则可以使用它.有many other ways of communication未被阻止,但是JSONP通常是最简单的.

更重要的是,工具栏是浏览器扩展,而不是网页扩展.通常(除非是沙盒),它与计算机上运行的程序相同-工具栏可以无限制地访问Internet和个人文件.

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...