javascript
  • json
  • google-chrome
  • google-chrome-extension
  • 2014-09-02 242 views 1 likes 
    1

    我的最後一個也是最後一個問題。我似乎無法使用擴展名中的.downloads功能。我得到的錯誤Chrome擴展程序:下載

    無法讀取的不確定

    財產「下載」當心我刪除了一些代碼,因此它可以適應這裏 我的代碼是

    var contentInput = document.createElement("div") 
    contentInput.innerHTML = '<div style="position:relative; width: 145px;height: 30px;right: 0px;left: 14px;padding-top: 0px;top: 0px;"><div class="btn-primary btn-medium" style="position: absolute;left: 0px;" draggable="true">Download .OBJ</div><p style="position:relative; top: 33px; font-size:15px">Click to download the OBJ version of this asset.</p> </div>' 
    contentInput = contentInput.children[0].children[0] 
    
    localStorage.setItem("OBJURL", jsonObject.Url); //It's saved! 
    }); 
    
    var objurl = localStorage.getItem("OBJURL"); 
    SendRequest(objurl, function (objfinal) { 
    
    }); 
        chrome.downloads.download({url:objurl,filename:"wat23333.obj",conflictAction:"overwrite"}) 
        chrome.extension.sendRequest({ 
         action: "EditContent", 
         type: assetType, 
         name: assetName, 
         content: contentData 
        }) 
    
    } 
    

    清單文件

    權限

    "permissions": [ 
        "http://*.roblox.com/*", 
        "http://*.rbxcdn.com/*", 
        "downloads", 
        "downloads.open" 
    ], 
    

    回答

    2

    錯誤「無法讀取未定義的屬性'下載'意味着鉻對象上沒有下載屬性。這通常表示沒有權限訪問API - 您是否在清單中請求「下載」權限?

    5

    Devlin的猜測幾乎是正確的。

    它發生時,其中的任意一種條件成立:

    1. 您沒有權限
    2. 您所訪問的API從內容腳本調用時,它不適用於內容的腳本。

    顯然你有第二種情況。您需要將消息傳遞給後臺頁面並從那裏處理該操作。

    +1

    有什麼建議嗎?一些示例代碼? :D – user3851593 2014-09-02 23:30:30

    +0

    建議閱讀[消息指南](https://developer.chrome.com/extensions/messaging)。 – Xan 2014-09-02 23:31:07

    +1

    我很愚蠢。我不知道如何使用它。 – user3851593 2014-09-03 01:00:45

    0

    對我來說,Xan的解決方案也沒有工作。對我有效的是去chrome:// extensions並從chrome中刪除擴展名。之後,我重新添加了擴展。然後它工作。

    相關問題