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