【问题标题】:Make this google translate bookmarklet run in an iframe?让这个谷歌翻译小书签在 iframe 中运行?
【发布时间】:2019-02-09 11:43:18
【问题描述】:

我从here 找到了这个谷歌翻译书签,我想知道是否可以在同一页面上的 iframe 中运行此代码,而不是在新窗口中运行。

javascript: var t = ((window.getSelection && window.getSelection()) || (document.getSelection && document.getSelection()) || (document.selection && document.selection.createRange && document.selection.createRange().text));
var e = (document.charset || document.characterSet);
if (t != '') {
    var url1 = 'http://translate.google.com/?text=' + t + '&hl=en&langpair=auto|sk&tbb=1&ie=' + e;
    window.open(url1, '_blank', "GoogleTranslate", "height=200,width=200")
} else {
    var url2 = 'http://translate.google.com/translate?u=' + encodeURIComponent(location.href) + '&hl=en&langpair=auto|sk&tbb=1&ie=' + e;
    window.open(url2, '_blank', "GoogleTranslate", "height=200,width=200")
};
void(0);

【问题讨论】:

    标签: javascript google-translate bookmarklet


    【解决方案1】:

    不,这是不可能的。 谷歌使它不可能,因为他们没有在您提供的脚本中包含的 url 中包含 X-Frame-Options 标头,这对于在 iframe 中显示请求的 url 内容至关重要。

    您可以在此处查看示例:https://jsfiddle.net/5w2tv8fs/ 您可以在控制台中看到一条消息,由于缺少标头,请求被拒绝。

    【讨论】:

      猜你喜欢
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      相关资源
      最近更新 更多