URL текущей страницы открывается в новом окне при нажатии на значок расширения Chrome - PullRequest
0 голосов
/ 30 апреля 2018

Я создал расширение Chrome. Я хочу открыть URL текущей страницы при нажатии на значок Chrome. Теперь показывать URL текущей страницы во всплывающем окне. Пожалуйста, помогите мне, что я могу сделать в этом случае.

Пожалуйста, найдите ниже код:

document.addEventListener('DOMContentLoaded', function() {
    var checkPageButton = document.getElementById('checkPage');
    chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
        var url = tabs[0].url;
        alert(url);
    });

    checkPageButton.addEventListener('click', function() {
        chrome.tabs.getSelected(null, function(tab) {
            d = document;
            var f = d.createElement('form');
            f.action = 'http://gtmetrix.com/analyze.html?bm';
            f.method = 'post';
            f.target = '_blank';
            var i = d.createElement('input');
            i.type = 'hidden';
            i.name = 'url';
            i.value = tab.url;
            f.appendChild(i);
            d.body.appendChild(f);
            f.submit();
        });
    }, false);
}, false);
<!-- Menifest.json -->
{
    "manifest_version": 2,

    "name": "Test ",
    "description": "",
    "version": "1.0",

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

<!-- popup.html -- >
<html>
  	<head>
    	<title>GTmetrix Analyzer</title>
    	<script src="popup.js"></script>
  	</head>
  	<body>
   	 	<h1>GTmetrix Analyzer</h1>
    	<button id="checkPage">Check this page now!</button>
  	</body>
</html>

Может кто-нибудь помочь мне разобраться с этой проблемой?

Спасибо

1 Ответ

0 голосов
/ 30 апреля 2018

На основании нашего обсуждения в комментариях. Отправив это как ответ.

Если вы хотите получить URL текущей вкладки и открыть ее в новом окне. Выполните следующие изменения в вашем всплывающем файле js

Заменить этот код:

chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
    var url = tabs[0].url;
    alert(url);
});

С этим кодом:

chrome.tabs.query({'active': true, currentWindow: true}, function (tabs) {
    var url = tabs[0].url;
    chrome.tabs.create({url: url}, function(tab){});
});

Это захватит текущий URL вкладки и откроет ее в новой новой вкладке.

Кроме того, вы можете избавиться от этого кода, он больше не требуется.

checkPageButton.addEventListener('click', function() {
        chrome.tabs.getSelected(null, function(tab) {
            d = document;
            var f = d.createElement('form');
            f.action = 'http://gtmetrix.com/analyze.html?bm';
            f.method = 'post';
            f.target = '_blank';
            var i = d.createElement('input');
            i.type = 'hidden';
            i.name = 'url';
            i.value = tab.url;
            f.appendChild(i);
            d.body.appendChild(f);
            f.submit();
        });
    }, false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...