2015-07-27 3 views
0

Это мое первое расширение хром, и я просто хочу начать с простой вещи: захват url и показ его в console.log(). Проблема в том, что когда я нажимаю эту кнопку, ничего не регистрируется.Активная вкладка расширения Chrome и консоль.log

manifest.json

{ 
    "manifest_version": 2, 

    "name": "Copy Title and URL", 
    "description": "This extension will copy the title and url of an article", 
    "version": "1.0", 

    "browser_action": { 
    "default_icon": "icon.png", 
    "default_popup": "popup.html" 
    }, 
    "permissions": [ 
    "activeTab" 
    ] 
} 

popup.html

<!doctype html> 
<html> 
    <head> 
    <title>Copy Title & URL</title> 
    <script src="popup.js"></script> 
    </head> 
    <body> 
    <button id="copyUrl">Copy Title + URL</button> 
    </body> 
</html> 

popup.js

document.addEventListener('DOMContentLoaded', function() { 
    var copyURLButton = document.getElementById('copyUrl'); 
    copyURLButton.addEventListener('click', function() { 
    chrome.tabs.getSelected(null, function(tab) { 
     console.log(tab.url); 
    }); 
    }, false); 
}, false); 

Любая идея, что я делаю неправильно здесь?

Спасибо.

ответ

1

Возможно консоль вы смотрите в это неправильно, так как ваш код кажется нормально (для использования устаревшей getSelected() за исключением, вы должны переключиться на query())

Чтобы получить доступ к консоли всплывающего окна, вы должны правой кнопкой мыши и нажмите «Осмотреть всплывающее окно».

1

Удивительный, похоже, я искал неправильную консоль. Я изменил код на запрос ниже.

document.addEventListener('DOMContentLoaded', function() { 
    var copyURLButton = document.getElementById('copyUrl'); 
    copyURLButton.addEventListener('click', function() { 
    chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) { 
     console.log(tabs[0].url); 
    }); 
    }, false); 
}, false); 
Смежные вопросы