Question

I'm making an extension for safari I created a context item with command = showNote

In debugger I get the follwing error TypeError: Result of expression 'safari.application' [undefined] is not an object on line 8(the last line)

are there any things you need to include or call before this works?

main.js

function showNote(event){
    if(event.command == "showNote"){
        addElement = document.createElement('<div id="safExtNote"><textarea id="safExtNoteText"></textarea><button id="safExtSave">Save</safExtNote></div>');
        document.body.appendChild(addElement)
        alert("im online");
    }
}
safari.application.addEventListener("command", showNote, false);
Was it helpful?

Solution

Just ran into this problem myself trying to create a toolbar command. Turns out I was putting the JS in the wrong place. I added it to the "Injected Extension Content" as a start script. Needed to create an HTML page that included the JS and set that as the Global Page File.

Switch that around and you should be set, assuming it's the same problem I just ran into.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top