Thank you both - at least I know that we're not crazy, and that there is a
glimmer of hope for addressing it.

Kasun, do you mean getting an already updated version of the file? Or
making a request to have the file updated?

Janice

On Tue, Oct 17, 2017 at 3:05 AM, Kasun Gajasinghe <[email protected]> wrote:

>
> Interesting observation. I may have found a possible explanation.
>
> The error is thrown from the line at [1].
>
> Quote:
>             var stemmedWord=stemmer(word);
>             if(w[stemmedWord]!=undefined){
>                 stemQueryMap[stemmer(word)] = word;
>             } else {
>                 stemQueryMap[originalWord]=originalWord;
>             }
>
> stemQueryMap is a JavaScript array. 'length' is a default property that
> return the number of elements of the given array. An assignment like 
> *stemQueryMap["length"]
> = "length"* will modify this 'length' property. Since the new value is
> not an integer, Chrome's Javascript engine goes haywire.
>
> >>  You can recover from this by clearing the cookies. <<
>
> Best possible fix for this is that JS engines should start treating
> 'length' as a keyword. Since that is a long shot, easiest workaround is to
> patch the nwSearchFnt.js IMO - where we ask it to treat '*length*' as a
> special keyword.
>
> We should do this for all the Array objects in there such
> as stemmedWordsList, cleanwordsList, wordsList.
>
> @Janice, are you interested in sending a GitHub pull request for this? :)
>
> [1] https://github.com/docbook/xslt10-stylesheets/blob/master/xsl/webhelp/
> template/search/nwSearchFnt.js#L383
> [2] https://developer.mozilla.org/en-US/docs/Web/JavaScript/
> Reference/Global_Objects/Array/length
>
> Best regards,
> KasunG
>
> On Tue, Oct 17, 2017 at 9:11 AM, Peter Desjardins <
> [email protected]> wrote:
>
>> I can confirm that I see the same behavior in our webhelp. Searching
>> for the term "length" will result in the same JS error.
>>
>> The search function is working as expected otherwise. Interesting problem!
>>
>> Peter
>>
>> On Mon, Oct 16, 2017 at 5:00 PM, Janice Manwiller <[email protected]>
>> wrote:
>> > This issue has been reported by a couple of internal users of our
>> WebHelp.
>> > Has anyone run into something similar? And if so, any ideas of how to
>> > address?
>> >
>> > I have never seen the behavior myself.
>> >
>> > Our WebHelp is built using the Maven docbx plugin.
>> >
>> > When using the WebHelp in Chrome, the user issues a search - in this
>> case,
>> > specifically for the term "length".
>> >
>> > They get no results, and the search/contents sidebar disappears. They
>> are
>> > unable to get it back unless they restart Chrome, which destroys all of
>> > their work in the main application.
>> >
>> > The Chrome console has the following:
>> >
>> > nwSearchFnt.js:383 Uncaught RangeError: Invalid array length
>> >     at tokenize (nwSearchFnt.js:383)
>> >     at Effectuer_recherche (nwSearchFnt.js:158)
>> >     at Verifie (nwSearchFnt.js:100)
>> >     at HTMLDocument.<anonymous> (main.js:68)
>> >     at o (jquery-1.7.2.min.js:2)
>> >     at Object.fireWith (jquery-1.7.2.min.js:2)
>> >     at Function.ready (jquery-1.7.2.min.js:2)
>> >     at HTMLDocument.B (jquery-1.7.2.min.js:2)
>> >
>> >
>> >
>> > Any help is appreciated.
>> >
>> > Thanks,
>> >
>> > Janice
>> >
>> > --
>> > Janice Manwiller
>> > Principal Technical Writer
>> > Sqrrl Data, Inc.
>> > www.sqrrl.com | @SqrrlData
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
>
> --
> ~~~*******'''''''''''''*******~~~
> *Kasun Gajasinghe*
> Senior Software Engineer; WSO2 Inc.; http://wso2.com,
> *Linked-in: *http://lk.linkedin.com/in/gajasinghe
> *Blog: **http://blog.kasunbg.org* <http://blog.kasunbg.org/>
>
>
> *GitHub: **http://github.com/kasunbg* <http://github.com/kasunbg>
>



-- 
Janice Manwiller
Principal Technical Writer
Sqrrl Data, Inc.
www.sqrrl.com | @SqrrlData

Reply via email to