【发布时间】:2018-03-30 20:00:48
【问题描述】:
我已经搜索了很多论坛,并且非常有信心这不会,但我想我会向社区开放以防万一;)
我的任务是在我们的 Google 协作平台页面上创建一个工具,用于记录我们员工在访问某个页面后的访问时间。它有助于确认文档访问和活动日志的合规性。如果 iFrame 与其托管的页面位于同一域中,则从框架内查询父页面的 URL 相当容易,但安全限制限制了跨域或子域。
我希望将 Google 应用程序脚本嵌入到 Google 网站页面这一事实会给我提供更多选择。到目前为止,我已经尝试过命令 document.referrer、parent.document.location、parent.window.document.location、 parent.window.location、parent.document.location.href,以及来自窗口和文档视角的相同命令。他们的反应都是一样的:
https://n-labp6vtqrpsdn12345neycmicqw7krolscvdkda-0lu-script.googleusercontent.com/userCodeAppPanel
当我想要时:
https://sites.google.com/mysite.com/mysite/test/test3
有没有谷歌老手有额外的技巧?
编辑:我刚刚尝试通过 html 链接将变量传递给 Google 站点上的 Apps 脚本的 Google 图片占位符,并获得了一点点更远。你看,如果我在单独的窗口中运行 url,我可以运行这个 url:https://script.google.com/a/macros/coordinationcentric.com/s/AKfycbxDX2OLs4LV3EWmo7F9KuSFRljMcvYz6dF0Nm0A2Q/exec?test=hello&test2=howareyou 并获取变量 test1 和 test2。如果我尝试将该 URL 嵌入到 Google 协作平台上的 HTML 页面中,则会引发以下混合内容错误:
trog_edit__en.js:1544 Mixed Content: The page at
'https://sites.google.com/a/mysite.com/mysite/test/test3' was loaded over HTTPS, but requested an insecure image 'http://www.google.com/chart?chc=sites&cht=d&chdp=sites&chl=%5B%5BGoogle+Apps+Script%27%3D20%27f%5Cv%27a%5C%3D0%2710%27%3D499%270%27dim%27%5Cbox1%27b%5CF6F6F6%27fC%5CF6F6F6%27eC%5C0%27sk%27%5C%5B%22Apps+Script+Gadget%22%27%5D%27a%5CV%5C%3D12%27f%5C%5DV%5Cta%5C%3D10%27%3D0%27%3D500%27%3D197%27dim%27%5C%3D10%27%3D10%27%3D500%27%3D197%27vdim%27%5Cbox1%27b%5Cva%5CF6F6F6%27fC%5CC8C8C8%27eC%5C%27a%5C%5Do%5CLauto%27f%5C&sig=TbGPi2pnqyuhJ_BfSq_CO5U6FOI'. This content should also be served over HTTPS.
也许有人尝试过这种方法?
【问题讨论】:
-
在继续搜索中,我在blog.knoldus.com/2011/07/31/… 发现了一个有趣的帖子,其中涉及将应用程序脚本包装在一个 xml 文件中并将页面引用传递给应用程序。不过,在我的尝试中,我在尝试调用我的站点上的托管脚本时遇到了另一个跨域错误(主站点是一个私有 Intranet,无法根据需要托管指向 xml 文件的公共链接)。有没有人成功尝试过类似的东西?
标签: javascript iframe google-apps-script cross-domain-policy