Chrome расширение использовать iframe для отображения фоновой страницы в сценарии содержимого - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь создать расширение chrome, которое может отображать карту в виде всплывающего окна над текущей вкладкой. Для этого я использую сценарий содержимого для управления dom и сценарий фона для обработки api карт Google. Фоновый скрипт работает хорошо; Я вижу код своего div карты в консоли разработчика. У меня возникли проблемы с мыслью о том, как перенести эту карту из моего фонового сценария в мой сценарий содержимого, потому что api v3 карт Google не работает в сценарии содержимого. Затем я обнаружил переполнение стека: Получите доступ к API Карт Google из Chrome расширения , и он сказал мне использовать iframe и сделать iframe sr c моим фоном. html.

Когда я это делаю, я получаю часть кода для своего фона. html но я не вижу никаких манипуляций с DOM, которые я сделал в моем фоновом скрипте. Моя консоль разработчика на фоновой стороне показывает, что в моем фоновом сценарии есть div с картой Google, но в моем сценарии содержимого этого div нет. У кого-нибудь раньше была эта проблема?

Это код, который я запускаю:

manifest. json:

"web_accessible_resources": [
    "popup.html"
],"background": {
    "page": "popup.html",
    "persistent": true
},"content_scripts": [
    {
        "matches": ["<all_urls>"],
        "js": ["popup.js"],
        "css": ["popup.css"]
    }
],

content. js:

var newPopup = document.getElementById("chromeGoogleMapsSearchPopup");
if (newPopup) {
    newPopup.parentNode.removeChild(newPopup);
}
newPopup = document.createElement("iframe");
newPopup.id = "chromeGoogleMapsSearchPopup";
newPopup.style.left = x + 'px';
newPopup.style.top = y + 'px';
if (hidden) {
    newPopup.style.display = "none"
}
document.body.appendChild(newPopup);
newPopup.src = chrome.runtime.getURL('popup.html');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...