2

我正在尝试创建一个扩展来使用谷歌翻译来翻译网页。我像这样撰写网址:url google translate + current tab + &sl=auto&tl=it&hl=&ie=UTF-8但不起作用。怎么了?

谢谢

<script>
safari.application.addEventListener("command", performCommand, false);

function performCommand(event) {
    if (event.command == "translate") {     
        var currentTab.url = safari.application.activeBrowserWindow.currentTab.url;     
        var rUrl = "http://translate.google.it/translate?u=" +  encodeURIComponent(currentTab.url) + "&sl=auto&tl=it&hl=&ie=UTF-8";     
        safari.application.activeBrowserWindow.activeTab.url(rUrl);
    }
}
</script>
4

1 回答 1

3

一般来说这是正确的,但也有一些简单的错误。

  1. 在第 6 行,var currentTab.url语法无效。只需将变量称为currentUrl.

  2. 在第 6 行,它safari.application.activeBrowserWindow.activeTab不是safari.application.activeBrowserWindow.currentTab

  3. 第 8 行,url不是函数,而是属性。只需分配一个等号。

这应该有效:

<script>
safari.application.addEventListener("command", performCommand, false);

function performCommand(event) {
    if (event.command == "translate") {     
        var currentUrl = safari.application.activeBrowserWindow.activeTab.url;  
        var rUrl = "http://translate.google.it/translate?u=" +  encodeURIComponent(currentUrl) + "&sl=auto&tl=it&hl=&ie=UTF-8";     
        safari.application.activeBrowserWindow.activeTab.url = rUrl;
    }
}
</script>
于 2013-08-21T10:37:16.570 回答