OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] Issue with WebHelp search deleting the sidebar


Just curious if anything ever happened with this.

Thanks,

Janice

On Tue, Oct 17, 2017 at 10:07 AM, Peter Desjardins <peter.desjardins.us@gmail.com> wrote:
I can give it a try. Once I get my local JS to search for "length,"
I'll open a GitHub PR with my changes.

Peter

On Tue, Oct 17, 2017 at 8:51 AM, Kasun Gajasinghe <kasunbg@gmail.com> wrote:
>
> The issue is there in the latest version as well, so we need someone to fix
> this and send a patch across.
>
>
> On Tue, Oct 17, 2017 at 5:18 PM Janice Manwiller <janice@sqrrl.com> wrote:
>>
>> 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 <kasunbg@gmail.com>
>> 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
>>> <peter.desjardins.us@gmail.com> 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 <janice@sqrrl.com>
>>>> 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: docbook-apps-unsubscribe@lists.oasis-open.org
>>>> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
>>>>
>>>
>>>
>>>
>>> --
>>> ~~~*******'''''''''''''*******~~~
>>> Kasun Gajasinghe
>>> Senior Software Engineer; WSO2 Inc.; http://wso2.com,
>>> Linked-in: http://lk.linkedin.com/in/gajasinghe
>>> Blog: http://blog.kasunbg.org
>>>
>>>
>>> GitHub: http://github.com/kasunbg
>>
>>
>>
>>
>> --
>> Janice Manwiller
>> Principal Technical Writer
>> Sqrrl Data, Inc.
>> www.sqrrl.com | @SqrrlData
>
> --
> ~~~*******'''''''''''''*******~~~
> Kasun Gajasinghe
> Senior Software Engineer; WSO2 Inc.; http://wso2.com,
> Linked-in: http://lk.linkedin.com/in/gajasinghe
> Blog: http://blog.kasunbg.org
>
>
> GitHub: http://github.com/kasunbg



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


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]