Firefox/Zoom Search/ whproxy.js error

May 20, 2015

Copy link to clipboard

Copied

Hi,

I'm using Zoom search with my documentation and when viewing the docs using Firefox, Firefox hangs (forever) until I stop it when I click on a search result.  I do not have this problem in IE or Chrome.  All search result links work and display correctly on IE or Chrome.

I ran the debugger thing on Firefox and saw this error message in whproxy.js file:

Error: Permission denied to access property "whname" line 10 column 8 which is

if (typeof (wCurrent.parent.whname) == "string" && "wh_stub" == wCurrent.parent.whname)

This is repeatable.  In fact, I have a link on my search page (created outside RH, but added after documentation is generated) to a "search tips" which links to a file within the project and that does the same thing - same hang and same error.  I can access this "search tips" file while viewing in IE and Chrome.

I followed Peter's tips on Zoom Search and use the process where I run zoom on output files as my start directory and put the results in my published files (zoom's output).  This has been successfully done for a couple years now, no issues.

Files are always run locally.

any ideas?

thanks in advance

RH 11.0.4.291, Webhelp

Firefox 37.0.2 (but it was reported to me with the user having Firefox 38)

Zoom Search 6 build 1028

IE 10.0.9

Chrome 42.0.2311.152 m

Views

512

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

Firefox/Zoom Search/ whproxy.js error

May 20, 2015

Copy link to clipboard

Copied

Hi,

I'm using Zoom search with my documentation and when viewing the docs using Firefox, Firefox hangs (forever) until I stop it when I click on a search result.  I do not have this problem in IE or Chrome.  All search result links work and display correctly on IE or Chrome.

I ran the debugger thing on Firefox and saw this error message in whproxy.js file:

Error: Permission denied to access property "whname" line 10 column 8 which is

if (typeof (wCurrent.parent.whname) == "string" && "wh_stub" == wCurrent.parent.whname)

This is repeatable.  In fact, I have a link on my search page (created outside RH, but added after documentation is generated) to a "search tips" which links to a file within the project and that does the same thing - same hang and same error.  I can access this "search tips" file while viewing in IE and Chrome.

I followed Peter's tips on Zoom Search and use the process where I run zoom on output files as my start directory and put the results in my published files (zoom's output).  This has been successfully done for a couple years now, no issues.

Files are always run locally.

any ideas?

thanks in advance

RH 11.0.4.291, Webhelp

Firefox 37.0.2 (but it was reported to me with the user having Firefox 38)

Zoom Search 6 build 1028

IE 10.0.9

Chrome 42.0.2311.152 m

Views

513

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
May 20, 2015 0
May 20, 2015

Copy link to clipboard

Copied

Can you check whether the search function works correct on the following output? Salesbuilder-help (You need to use the Search topic)

You can replace the function with the following (not pretty, but it will probably work):

function getStubPage_inter(wCurrent) {

    if (null == wCurrent.parent || wCurrent.parent == wCurrent)

        return null;

try {

    if (typeof (wCurrent.parent.whname) == "string" && "wh_stub" == wCurrent.parent.whname)

        return wCurrent.parent;

    else {

        if (wCurrent.parent.frames.length != 0 && wCurrent.parent != wCurrent)

            return getStubPage_inter(wCurrent.parent);

        else

            return null;

    }

} catch(e) {

      if (wCurrent.parent.frames.length != 0 && wCurrent.parent != wCurrent)

            return getStubPage_inter(wCurrent.parent);

        else

            return null;

}

}

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 20, 2015 0
May 20, 2015

Copy link to clipboard

Copied

William!

Unbelievably fast!

The search function in the link you provided worked great for me.

I'm not sure where I should copy/paste the code above into the whproxy.js file.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 20, 2015 0
May 20, 2015

Copy link to clipboard

Copied

Ok, I think I figured out where to replace the code.

I replaced the entire function:

function getStubPage_inter(wCurrent) {

    if (null == wCurrent.parent || wCurrent.parent == wCurrent)

        return null;

My results:

The search result links now work, which means the correct page displays and the word(s) are highlighted.  The only thing now is that at the top of the page (opened from the search results), the double-rectangle displays with  "Show" link above the breadcrumbs.  Clicking on the "Show" link displays the toolbar buttons in the content pane (and nothing else, no content).  It's partially fixed in that the search results links work, search words are highlighted, and Firefox doesn't hang. Just need to get rid of the show box.

Maybe I replaced the wrong information in the script?

Thanks for your quick response!show.png

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 20, 2015 0
May 26, 2015

Copy link to clipboard

Copied

This was meant to replace the entire function. But I'm baffled by the effect. I tried running on several versions but I can't get the error.

Would it be possible to create an example output exhibiting this problem and share it with me? I would like to debug on an output that I know is broken.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 26, 2015 0
May 26, 2015

Copy link to clipboard

Copied

That would be great!

Where can I send it?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 26, 2015 0
May 26, 2015

Copy link to clipboard

Copied

You can send the example project to: [contact] at [wvanweelden] dot [eu]

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 26, 2015 0
May 26, 2015

Copy link to clipboard

Copied

sent.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 26, 2015 0
May 26, 2015

Copy link to clipboard

Copied

I got the example. Thanks.

As far as I can tell, the problems lies in cross domain origin limitations of the browser. This is occuring because the search option allows searching over multiple content categories. Also, since the search syntax file is referencing a single file in a different content category, some features are blocked.

The fix is to fool RoboHelp into thinking that a local Firefox is Chrome. This will use the Chrome solution to avoid the pitfall.

  1. Ignore previous update proposals for whproxy.js. They are no longer needed.
  2. On line 158, replace the function this.checkChromeLocal with (changed is bold):

this.checkChromeLocal = function() {

        if (window.chrome || navigator.userAgent.toLowerCase().indexOf('firefox') > -1)

            if (document.location.protocol.substring(0, 4) == "file")

            return true;

        return false;

    }

When the browser is Firefox, RoboHelp will for this part of the scripts work as Chrome, fixing the issue.

One thing I noticed is that the TOC is not automatically updated when jumping to a search result from a different content category. There is not much to do about this than simply loading the correct content category. A project for another day perhaps.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 26, 2015 0
May 28, 2015

Copy link to clipboard

Copied

I used an auto-generated whproxy.js file and only modified line 158 as you suggested. I tried it on both the sample project I sent you and the "real" project I have and it didn't work.  In fact, the only thing I see is the expected gray bar across the top of the page.  The rest of the page is blank.

On the other hand, this modification did not change IE or Chrome - both are okay.

  (<-- crying but you can't see it)

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 28, 2015 0
Jun 08, 2015

Copy link to clipboard

Copied

William sent me a new file which fixed the issue for me, and was confirmed fixed by a few other users.

thank you!   

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jun 08, 2015 0
Jun 13, 2015

Copy link to clipboard

Copied

For those with the same issue, you can get the modified whproxy.js for RoboHelp 11 here: FireFox ZoomSearch RoboHelp 11 whproxy.js - Google Drive

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jun 13, 2015 0