Я пытаюсь создать расширение 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');