将链接从iframe内部的Google文档更改为在iframe外部打开

Changing links to open outside an iframe from a Google Doc inside an iframe

本文关键字:iframe 外部 文档 链接 内部 Google      更新时间:2023-09-26

我正在尝试将来自谷歌文档的链接嵌入到iframe中,以便在iframe外部打开。我已经尝试了几种解决方案。我尝试将基本目标定义为_parent_top_blank中的任何一个。GoogleDocs在iframe中创建代码,所以我尝试用jquery更改它以更改目标属性,但这似乎不起作用。

相关的html代码是:

<iframe id="googledoc" base target="_blank" scrolling=no width=1000 height=1000 src="https://docs.google.com/document/d/1ctn5fekV4odEepCREAfLg31PrNMGnmwqokY0wHXqu7s/pub?embedded=true">There was a problem fetching the frame.</iframe> <!-- scrolling=no is for backwards-compatibility, also implemented in css -->
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><'/script>')</script>
        <script src="../js/plugins.js"></script>
        <script src="../js/iframefix.js"></script>

请注意基本目标是如何定义的,但似乎没有任何效果。

相关的jquery位于iframefix.js中,如下所示:

$(document).ready(function () {
   $('#googledoc').contents().find('a').each(function () {
    $(this).attr('target', '_blank');
});
});

我找到了一个可以使用php的解决方案,但我不想破坏php。有没有使用javascript/jquery的解决方案?

确保iframe在同一个域上,否则您无法访问其内部。这将是跨站点脚本。

看起来你正试图在iframe中加载谷歌文档,所以它来自其他域,没有浏览器允许你访问其中的元素。

几年前,我想要同样的东西,花了很多时间在背后。我逐渐意识到这是不可能的。

您可能想要使用pdf.js来显示文档。

有关的详细信息,请查看此问题