Добавить элемент на сайт / вкладку из расширения Safari - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь создать расширение для Safari, которое добавит элемент на страницу / вкладку, на которой я сейчас нахожусь.В приведенном ниже примере я хотел бы добавить кнопку «Отправить» на страницу.

Для меня проблема в том, что новый элемент (кнопка) будет добавлен в html-расширения.

Html:

<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">

    function sendMessage() {
        document.getElementById("textField").innerHTML="Sending message...";
        safari.application.activeBrowserWindow.activeTab.page.dispatchMessage("hey", "there");
    }

    function respondToMessage(messageEvent) {
        if(messageEvent.name === "gotIt")
        document.getElementById("textField").innerHTML=messageEvent.message;
    }

    safari.self.browserWindow.addEventListener("message",respondToMessage,false);

</script>
</head>
<body> Message Sender Bar &nbsp;&nbsp;
    <input type="button" value="Send" onclick="sendMessage()" >
    <span id="textField">...waiting... </span>
</body>
</html>

Js:

var theBody = document.body;
var element = document.createElement("p");
element.id = "status";
element.style.cssText = "float:right; color:red";
element.textContent = "Waiting...";
theBody.insertBefore(element, theBody.firstChild);

function replyToMessage(aMessageEvent) {
   if (aMessageEvent.name === "hey") {
    document.getElementById("status").textContent="Message received.";
    safari.self.tab.dispatchMessage("gotIt","Message acknowledged.");
    }
}
safari.self.addEventListener("message", replyToMessage, false);
...