activeTab.url Safari扩展

时间:2013-08-21 07:44:25

标签: javascript google-translate safari-extension

我正在尝试使用谷歌翻译创建一个翻译网页的扩展程序。 我写的网址如: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>

1 个答案:

答案 0 :(得分:3)

一般情况下这是正确的,但有一些简单的错误。

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

  2. 即可
  3. 在第6行,safari.application.activeBrowserWindow.activeTab不是safari.application.activeBrowserWindow.currentTab

  4. 在第8行,url不是函数,它是属性。只需为它分配一个等号。

  5. 这应该有效:

    <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>