在我的项目中,我将 google 文档加载到一个单独的 div 中。
Google 文档界面包括一个隐藏菜单的按钮和
将视图切换为更紧凑的形式。
我的问题是 - 是否可以使用 javascript 切换到紧凑视图?
我可以在预览模式下打开文档https://docs.google.com/spreadsheets/d//preview https://docs.google.com/spreadsheets/d/%3Cyour_document_id%3E/preview但它不是很有用(紧凑模式要好得多)
负责切换到紧凑视图的按钮有 id视图模式按钮但以下方法不起作用:
$("#viewModeButton").trigger('click');
Answer:
由于同源策略,无法执行 JavaScript 代码来与来自不共享域的 iframe 内的内容进行交互。
解释:
您似乎已经发现,同源策略是一项重要的 Web 应用程序安全策略,其历史可以追溯到 1995 年,它限制一个网页的脚本执行与另一个网页的交互除非两个网页共享域名.
http://subdomain.domain.com/some/path.html
and http://subdomain.com/som/other/path.html
在此策略下,他们能够相互交互,因为协议、端口和域都是在他们之间共享的。但是,更改其中任何一个都会导致脚本交互失败:
使用示例域http://subdomain.domain.com/path.html
:
-
http://subdomain.domain.com/path2.html
将会起作用,因为只有路径不同。
-
https://subdomain.domain.com/path.html
will not由于协议不同而工作。
-
http://subdomain.domain.com:894/path.html
will not端口不同时工作。
-
http://subdomain2.domain.com/other-path.html
will not当主机不同时工作。
Note:Internet Explorer 有一些例外情况,其中脚本将在仅端口不同的情况下运行,或者如果两个域是 Intranet 域,但这是非标准的。
推理:
对于像您这样的情况,如果脚本访问其他域以进行点击模拟或警报弹出窗口,则相对良性 - 但在存储或传输个人身份信息或数据支付信息的其他情况下,严格分离两个域非常重要将私人信息保密.
参考:
- 同源策略 - MDN 网络文档 https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
- 文档对象模型 (DOM) - MDN 网络文档 https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)