Forum Discussion

jamesbla-ms's avatar
jamesbla-ms
Microsoft Employee
1 year ago
Solved

Power BI Client for React and Browser History

We have a web application that uses powerbi-client-react 1.4.0 to load an embedded report. The user flow is as follows:

  1. User selects a report from a list of reports
  2. The browser navigates
  3. The embedded report renders

The issue reported by our users is that, once the report actually loads in the browser, an extra entry is added to the browser back button history. This means that to get back to the list of reports, they need to hit the back button twice, which they do not like.

 

This extra history item is added when the PowerBIEmbed control actually starts loading the report from PowerBI and the report chrome appears in the browser. Until that moment, the browser history is correct.

 

Is there a way to prevent this extra entry from being pushed into the history?

  • Anonymous's avatar
    Anonymous
    1 year ago

    Hi  jamesbla-ms ,

     

    You might consider trying to use the history.replaceState method when you first start loading the report to replace the current history entry with a new one, preventing the creation of additional entries.

     // Before loading the report
        history.replaceState(null, document.title, location.href);
        // Load the Power BI report
        powerbi.embed(reportContainer, embedConfig);

    And you may also try to check your embed configuration is optimized to avoid unnecessary navigation changes. Sometimes, tweaking the configuration can help reduce unwanted history entries.

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  jamesbla-ms ,

     

    You might consider trying to use the history.replaceState method when you first start loading the report to replace the current history entry with a new one, preventing the creation of additional entries.

     // Before loading the report
        history.replaceState(null, document.title, location.href);
        // Load the Power BI report
        powerbi.embed(reportContainer, embedConfig);

    And you may also try to check your embed configuration is optimized to avoid unnecessary navigation changes. Sometimes, tweaking the configuration can help reduce unwanted history entries.

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly