2 Replies Latest reply: Jan 15, 2017 9:23 AM by Yakir Manor RSS

    Link open in new tab vs new window?

    Cassandra Baqir

      I have an expression as a link that I want to open as a new tab within the SAME window as opposed to opening a new browser window. Is that possible?


      Here is my expression:


      ='ALM ' &'<url>linkurlhere=' & DEFECT_ID & ''

        • Re: Link open in new tab vs new window?
          Gysbert Wassenaar

          Only if your browser has a setting to force new links to open in a new tab. Qlikview can't force this behavior for opening links.

          • Re: Link open in new tab vs new window?
            Yakir Manor

            this issue has 2 simple solutions (this solution also supports sub domain):

            1. intervene in the opendoc.htm

            the file location is:

            C:\Program Files\QlikView\Server\QlikViewClients\QlikViewAjax


            you can put a listener on the dom

            $(document).bind('DOMSubtreeModified', function () {
              $("a[target='_blank']").each(function(i, element){resetBlankLinks(element);});
            function resetBlankLinks(element){
            function somefunction(relativePath) {
              window.open(document.referrer.match(/h(.[^/]+)/)[0] + "//" + document.referrer.match(/:\/\/(.[^/]+)/)[1] + relativePath);


            now your qlikview table link will be



            this is a solution that lets you go to a function you decide and do whatever you want, but i also slows down the dom a bit.


            2. this solution i like better, you can go to relevant qlikview scripts and change them (if your using the web client):

            go to

            C:\Program Files\QlikView\Server\QlikViewClients\QlikViewAjax

            now you need to search in files for


            i found:

            1. C:\Program Files\QlikView\Server\QlikViewClients\QlikViewAjax\htc\QvAjax.js
            2. C:\Program Files\QlikView\Server\QlikViewClients\QlikViewAjax\mobile\js\smalldevices.js
            3. the Qv.exe you cant change and this is not used in the web client


            in each file you will find few locations (should be 2), i'v changed them





            and my BI url is now:

            '☍<url>javascript:void(window.open(document.referrer.match(/h(.[^/]+)/)[0] + "//" + document.referrer.match(/:\/\/(.[^/]+)/)[1] + "/SomeRelativePath/?SomeParam='&[SomeId]&'"));'


            see if this helps you, maybe you will want different stuff but this is how you can do it.

            for example i don't think you want the 'window.open' and you might want to use different target, see:
            HTML a target Attribute


            in any case you can open chrome developer tools (F12) to see the code that is created:

            <a href='javascript:void(window.open(document.referrer.match(/h(.[^/]+)/)[0]%20+%20&quot;//&quot;%20+%20document.referrer.match(/:\/\/(.[^/]+)/)[1]%20+%20&quot;/SomeRelativePath/?SomeParam=SomeId&quot;));'
            onclick="eval(&quot;javascript:void(window.open(document.referrer.match(/h(.[^/]+)/)[0] + &quot;//&quot; + document.referrer.match(/:\/\/(.[^/]+)/)[1] + &quot;/SomeRelativePath/?SomeParam=SomeId&quot;));&quot;)"
            unselectable="on" style="position: absolute;">
              <div title="☍"
              style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); text-align: right; font-style: normal; font-weight: normal; text-decoration: underline; cursor: pointer; position: absolute; overflow: hidden; left: 0px; top: 128px; width: 20px; height: 16px;">
              <div unselectable="on" style="position: absolute; left: 0px; top: 0px; width: 20px; height: 16px;"></div>
              <div class="injected" style="padding: 0px 2px; width: 16px; height: 16px; display: table-cell; vertical-align: middle;">
              <div unselectable="on" title="☍"
              style="width: 16px; cursor: default; white-space: pre; overflow: hidden; word-wrap: normal;">
              <a href='javascript:void(window.open(document.referrer.match(/h(.[^/]+)/)[0]%20+%20&quot;//&quot;%20+%20document.referrer.match(/:\/\/(.[^/]+)/)[1]%20+%20&quot;/SomeRelativePath/?SomeParam=SomeId&quot;));'
              onclick="eval(&quot;javascript:void(window.open(document.referrer.match(/h(.[^/]+)/)[0] + &quot;//&quot; + document.referrer.match(/:\/\/(.[^/]+)/)[1] + &quot;/SomeRelativePath/?SomeParam=SomeId&quot;));&quot;)">