Skip to main content
Participating Frequently
October 15, 2021
Question

RoboHelp changing url query parameter characters

  • October 15, 2021
  • 5 replies
  • 510 views

Hi,

 

If I create a link in RH of the form <p><a href="index.htm?test=test">link</a></p> and compile the project then click on the link, the url in the browser navbar appears as index.htm&test=test, i.e. RoboHelp has changed the ? in the query parameter to &.

 

Our development team have written some code that allows RoboHelp to retrieve information dynamically from the application it is documenting, and as part of this it needs to bring back information via parameters in the url. Unfortunately when RoboHelp substitutes the ? for the & it means that the information is not correctly sent into RoboHelp. 

 

Is there a way to stop this substitution happening? I'm using RH 2020.

 

Thanks,

 

Mark

    This topic has been closed for replies.

    5 replies

    Jeff_Coatsworth
    Community Expert
    Community Expert
    October 20, 2021

    I think that you need to contact the RH folks - see https://helpx.adobe.com/contact/enterprise-support.other.html#robohelp for your Adobe Support options. I'd recommend using the tcssup@adobe.com e-mail address as it reaches a team dedicated to Technical Communication Suite products including RoboHelp.

    Participating Frequently
    October 20, 2021

    Thanks, I will do that.

    Community Expert
    October 19, 2021

    I don't think there's any way to stop it doing that, as the change is happening when you click the link - so it's caused by the javascript in the output.

     

    Typically the question mark in URLs appears immediately after the web page, then additional parameters are separated by an ampersand. So I assume because the # appears immediately after the web page in Responsive output, the javascript is following convention and forcing the question mark to change to the usual ampersand separator.

     

    You could try Frameless output instead, as that doesn't include the # in the URL. 

    Participating Frequently
    October 20, 2021

    I was hoping that there might be a way of tweaking the Javascript in the output project files to stop this behaviour - presumably there is code somewhere that imposes the change and it's just a case of identifying where this is. 

     

    I have tried frameless output but our project is a very large project that is many years old and the frameless output caused quite a few issues on initial investigation. I would rather not spend a long time hunting down and fixing these issues: if it were possible to identify where in the JS this was happening it would be a much easier solution. 

    Jeff_Coatsworth
    Community Expert
    Community Expert
    October 19, 2021

    I'm not quite sure I understand what you are creating link-wise: is this a reference to some other project or to another bookmark in a topic? Maybe some screenshots would clarify what you are doing. Did you confirm it was happening in the sample project?

    Participating Frequently
    October 20, 2021

    The help project is comprised of a mix of normal, static content that has been authored in RoboHelp and dynamically generated content that is held outside of RH (basically in our application). The links that contain the url query parameters are a way of interrogating the application to get it to return the correct bits of content which are then assembled and displayed on the RH page dynamically. There is a JS function written by our devs that does this. They have confirmed that the JS is functioning as expected, and the issue that is stopping the content being displayed within RH is the changing of the ? to a & at the start of the parameter string.

    Jeff_Coatsworth
    Community Expert
    Community Expert
    October 19, 2021

    I would try generating locally & examining the output there. If it's still misbehaving, try using the sample project to test if it's working or not in there.

    Participating Frequently
    October 19, 2021

    I have tried testing... I have created a simple two-page project which contains the link that includes the url parameters on the first page, and another page which reads the parameters and prints them on that page. If I put the code in two standard HTML pages outside RH, the parameters are displayed in the second page. They are also displayed if I publish the project as Multiscreen HTML5. However If I publish the same project using the Responsive HTML output, nothing is displayed, since the & is confusing the Javascript.

    Jeff_Coatsworth
    Community Expert
    Community Expert
    October 19, 2021

    What version of RH2020? Are you all updated to patch 6?

    Participating Frequently
    October 19, 2021

    Hi yes, I have the latest update. I have since found out that it is the publishing of a project using the Responsive HTML5 output that causes the issue. We used to publish the project using the Multiscreen HTML5 output but that is not available with the latest versions of RH.

     

    Responsive HTML5 publishing changes the ? that marks the beginning of the url query parameter to a &, whilst the Multiscreen output keeps it as ?.