Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7044745
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T02:26:47+00:00 2026-05-28T02:26:47+00:00

IS it possible to access web content directly from the (Safari) toolbar? I can

  • 0

IS it possible to access web content directly from the (Safari) toolbar? I can now access it from a contextmenu, but no idea how i get the same functionaliy to a toolbar.

This is what i got:

// injected
document.addEventListener("contextmenu", handleMessage, false);
function handleMessage(msgEvent) {
     var sel = '';
     sel = window.parent.getSelection()+'';
     safari.self.tab.setContextMenuEventUserInfo(msgEvent, sel);
}

// global
safari.application .addEventListener("command", performCommand, false); 
function performCommand(event) {
console.log('performCommand');
     if (event.command == "abc") {
          var query = event.userInfo;
          console.log(query);
          alert(query);
     }
}

But how do i this content directly from the toolbar ??

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-28T02:26:47+00:00Added an answer on May 28, 2026 at 2:26 am

    OK, basically it works like this:

    • in global the performCommand get called (by clicking on the toolbar), dispatching a event
    • this event is caught in handleGextText
    • in handleGextText, you do what you need to do and call safari.self.tab.dispatchMessage this dispatches a event back to global
    • in global you the event get caught by handleEvent

    >

    // Global Script
    safari.application.addEventListener("command", performCommand, false);  
    safari.application.addEventListener("message", handleEvent, false);
    
    // send message
    function performCommand(event) {
        console.log('command:' + event.command);
    
        if (event.command == "abc") {
            console.log("msg: my message");
            safari.application.activeBrowserWindow.activeTab.page.dispatchMessage("msg", "do-something");           
        }       
    }
    
    function handleEvent(event) {
        var messageName = event.name;
        console.log("evenname:" + event.name);      
        if (messageName === "did-something") { 
    
            var msg = event.message;
    
            // do something
        }       
    }
    
    
    // Injected Script
    if (window.top === window) { // inject only once!
        console.log("add event listners [injected.js]");
        safari.self.addEventListener("message", handleGextText, false);
    }
    
    function handleGextText(event) {
        console.log("evenname:" + event.name);
        console.log("evenmsg :" + event.message);
    
        var messageName = event.name;
        var messageData = event.message;
        if (messageName === "msg") { 
            if (messageData === "do-something") {           
                console.log('msg received: ' + event.name);
                var sel = '';
    
                // do what you need to do and  dispatch message back to Global
                console.log("send message to toolbar");             
                safari.self.tab.dispatchMessage("did-something", sel);          
            }
         }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is it possible to access hardware devices (web-cams, magnetic card readers, etc.) from within
I want to load content into my application from a web server, but if
Is it possible to access an element on a Master page from the page
As far as I can tell, it is impossible to access the content of
I can access and modify the contents of a <location> tag in web.config, starting
I try to get a access token from facebook with my (in creation) facebook
I'm using a asp.net web application project, and I cannot access any asp:content controls
I am trying to access sqlite.db file in my java web app. i can
Possible Duplicate: Browser can't access CSS and images when calling a Servlet which forwards
Is it possible to access the Abstract Syntax Tree(AST) inside the javac.exe programmatically? Could

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.