Dashboards & Visualizations

How to open a Javascript drilldown link in a new browser tab?

wcooper003
Communicator

I have a drilldown link coded in Javascript that opens the link from a dataset field value (field 'link' in example below):

// RequireJS dependency handling
require (["splunkjs/mvc",
         "splunkjs/mvc/simplexml/ready!"], function (mvc)
{

    mvc.Components.get('table_core').getVisualization(function(tableView){
        tableView.on("click:cell", drilldown);
    });


   // Define a drilldown function that can be used by multiple click event handlers
   function drilldown (event) {
    event.preventDefault();
       window.location=event.data["row.link"];
   }
});

I want to have that link open in a new tab. How could I do this through the Javascript?

0 Karma
1 Solution

bmacias84
Champion

Nothing the author of a script or dashboard will allow opening a tab instead of a window. This is a user preference.

To open a new window use:

window.open(url);

Though you can open a new window if a tab is defined with come css with target-new, but i believe its deprecated in most browsers.

css3-hyperlinks-20040224/#target-new

View solution in original post

bmacias84
Champion

Nothing the author of a script or dashboard will allow opening a tab instead of a window. This is a user preference.

To open a new window use:

window.open(url);

Though you can open a new window if a tab is defined with come css with target-new, but i believe its deprecated in most browsers.

css3-hyperlinks-20040224/#target-new

wcooper003
Communicator

Thanks for the comment. Where would I put that in my Javascript? Would I replace my window.location=event.data["row.link"] with window.open(event.data["row.link"])?

0 Karma

bmacias84
Champion

Sure if event.data["row.link"] contains the the url you want to open.

0 Karma

wcooper003
Communicator

Hmm that unfortunately didn't work - it just caused the drilldown to default to the default Splunk drilldown (opening search), not using the url. The URL that event.data["row.link"] uses is relative - it starts with "/app/....". Does it need to be an absolute url path?

0 Karma

bmacias84
Champion

url has to be absolute. example: https://www.google.com

0 Karma

wcooper003
Communicator

Excellent thanks, that worked. I have some links on the page that I want to open up in same tab, but others I want to open up into different tabs. So I just created two javascript files that do things differently, so working like a champ now.

0 Karma
Get Updates on the Splunk Community!

Stay Connected: Your Guide to May Tech Talks, Office Hours, and Webinars!

Take a look below to explore our upcoming Community Office Hours, Tech Talks, and Webinars this month. This ...

They're back! Join the SplunkTrust and MVP at .conf24

With our highly anticipated annual conference, .conf, comes the fez-wearers you can trust! The SplunkTrust, as ...

Enterprise Security Content Update (ESCU) | New Releases

Last month, the Splunk Threat Research Team had two releases of new security content via the Enterprise ...