Как ни странно, кажется, нет способа настроить ссылки на Документы Google, чтобы они открывались в новом окне. (Цель = "_blank").
При публикации документа Google и использовании функции встраивания создается фрагмент кода iframe:
<iframe src="https://docs.google.com/document/pub?id=1mfSz_3cWh6eW-X3EhQTtCoZ33Km131An8Kyvmuxi5oM&embedded=true"></iframe>
Все ссылки в документе будут открыты в iFrame и перенаправлены через службу перенаправления Google: http://www.google.com/url?q=
Можно ли как-нибудь открыть эти ссылки в новом окне? Я знаю, что могут быть проблемы с межкадровым скриптингом, поэтому странно, что у Google нет простого способа добиться этого ...
ОК, в отсутствие лучшей альтернативы я решил свернуть URL-адрес Google Doc и сделать магию jQuery, прежде чем загружать его в iFrame..html
$("#google_content").html("<iframe width='100%' height='600' frameborder='0' src='http://www.example.com/Curl/Curl.php'></iframe>");
Google, это действительно рекомендуемое решение?;)
Пользователь Авио связан с GitHub Gist: https://gist.github.com/psjinx/1f2317a50eb2b506ed84
Это хорошая отправная точка.
Однако - iframe srcdoc - не поддерживается в IE - http://caniuse.com/#feat=iframe-srcdoc
iframe srcdoc
Мое слегка измененное решение, стили не обязательны.
<style> body { margin: 0; padding: 0; } iframe { margin-left: 2vw; margin-top: 2vh; height: 90vh; width: 90vw; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> <iframe srcdoc="" frameborder="0" scrolling="no"></iframe> <script> $(function() { $.get("https://docs.google.com/document/d/1WUsQ_Kaa_tJljadPpHO2AFwvOAIqrYFS_zehUd6iCVk/pub?embedded=true", function(html) { var contents = $("iframe").contents(); contents.find("html").html(html); setTimeout(function() { contents.find('a[href^="http://"]').attr("target", "_blank"); contents.find('a[href^="https://"]').attr("target", "_blank"); }, 1000); // Actually not sure if timeout is required here... }); }); </script>