2016-08-04 38 views
0

我有一個關於JavaScript文件(配置在content_script中)打開對話框的問題。我使用「chrome.windows.create」,並有錯誤:「無法讀取未定義的屬性」創建「。你有什麼想法嗎? 非常感謝! 我來源:Chrome擴展 - 從JavaScript文件打開對話框(在content_script中的配置)

**manifest.json** 
 
{ 
 
    "name": "ABC", 
 
    "short_name": "ABC", 
 
    "description": "My tool", 
 
    "permissions": [ "contentSettings", "tabs", "http://*/*", "https://*/*" , "https://localhost/*", "https://localhost/*/*", "contextMenus"], 
 
    "homepage_url": "http://www.localhost/GMS", 
 
    "update_url": "https://clients2.google.com/service/update2/crx", 
 
    "manifest_version": 2, 
 
    "version": "1.0.4", 
 
    "icons": { 
 
    "16": "img/icon-16.png", 
 
    "48": "img/icon-48.png" 
 
    }, 
 
    "browser_action": { 
 
    "default_icon": "img/icon-128.png", 
 
    "default_popup": "background.html" 
 
    }, 
 
    "content_scripts": [{ 
 
    "css": [ "addon_tool.css" ], 
 
    "js": [ "jquery.js", "config.js","myJs.js"] 
 
    }] 
 
} 
 

 
**myJS.js** 
 
$.ajax({ 
 
      type: "POST", 
 
      data:{UserName: 'name'}, 
 
      dataType: "json", 
 
      url: "https://localhost/...", 
 
      success: function (data) { 
 
       alert('OK'); 
 
      }, 
 
      error: function (xhr, status, error) { 
 
       try { 
 
        ***chrome.windows.create({ 'url': 'PopupForm.html', 'type': 'popup' }, function (window) {*** 
 
        }); 
 
       } catch (e) { 
 
        alert(e.message); 
 
       } 
 
      } 
 
     });
**PopupForm.html** 
 
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <title></title> 
 
\t <meta charset="utf-8" /> 
 
</head> 
 
<body> 
 
    <button id="btnSubmit" >Submit</button> 
 
    <button id="btnCancel" >Close</button> 
 
</body> 
 
</html>

回答

1

chrome.windows.*can't be accessed in content scripts,你將需要移動邏輯彈出頁面或背景頁面。

  1. 重命名background.htmlpopup.html。之前的名稱表示您可能對背景頁面和彈出頁面感到困惑。
  2. background page
  3. 將您的myJS邏輯移至背景頁面。
+0

感謝您的回覆。但是,我必須使用內容腳本。我的問題是來自內容腳本(myJS.js)的顯示對話框。 –

相關問題