Cannot view SSRS 2008 R2 Reports in Safari/Chrome but works fine in FireFox/IE8… why?

Append to " C:\Program Files\Microsoft SQL Server\MSRS10_50. MSSQLSERVER\Reporting Services\ReportManager\js\ReportingServices. Js " (on the SSRS Server) the following script.

Up vote 9 down vote favorite 4 share g+ share fb share tw.

I have some simple reports in SSRS 2008 R2 but they won't display at all in Safari or Chrome. According to Microsoft's Books Online, these browsers are supported in limited fashion. However, I can't see anything after the data "Loading" clock completes.

The parameter bar and bread crumb navigation section at the top of the page are all there. Also, I can Save/Export to any format on Safari and Chrome. It just won't display the report section itself, which is just blank.

Am I suppose to use certificates and secured connections (currently not setup with https, only http)? Are there any server side configurations that need to be tweaked? Has anyone had success displaying ANY reports on Safari/Chrome using previous SSRS versions (2005)?

I'm using Safari 5.0.4 and Chrome 10.0.648.151. I know the similarity for these two browsers is they both are based on WebKit. The report renders successfully on IE8 (of course) and FireFox 4.0.

Would really appreciate it if someone can shed some light. Thanks in advance. - Greg reporting-services ssrs-2008 ssrs-reports reportingservices-2008 link|improve this question edited Apr 1 '11 at 6:19 asked Mar 25 '11 at 2:46Greg H463.

Duplicate: stackoverflow.com/questions/5968082/… – Tim Partridge Aug 12 '11 at 16:40 Greg H look at my solution and let me know if it solves the problem – Emanuele Greco Sep 15 '11 at 8:36.

Ultimate solution: Append to "C:\Program Files\Microsoft SQL Server\MSRS10_50. MSSQLSERVER\Reporting Services\ReportManager\js\ReportingServices. Js" (on the SSRS Server) the following script: function pageLoad() { var element = document.

GetElementById("ctl31_ctl10"); if (element) { element.style. Overflow = "visible"; } } Actually I dont' know if div's name is always "ctl31_ctl10": in my case it is. If this solution doesn't work, look at the HTML from your browser to see if the script has worked properly changing the overflow:auto property to overflow:visible.

Reason: Chrome and Safari render overflow:auto in different way respect to IE. The HTML page produced by SSRS 2008 R2 reports contain a div which has overflow:auto style, and it turns report into an invisible report. ... Changing manually (using Chrome's debug window) final HTML overflow:auto in overflow:visible I can see reports on Chrome.

I love Tim's solution, it's easy and working. But there is still a problem: any time the user change parameters (my reports use parameters! ) AJAX refreshes the div, the overflow:auto tag is rewritten, and no script changes it.

This technote detail explains what is the problem. This happens because in a page built with AJAX panels, only the AJAX panels change their state, without refreshing the whole page. Consequently, the OnLoad events you applied on the tag are only fired once: the first time your page loads.

After that, changing any of the AJAX panels will not trigger these events anymore. Mr.einarq suggested me the solution here. Another option is to rename your function to pageLoad.

Any functions with this name will be called automatically by asp.net ajax if it exists on the page, also after each partial update. If you do this you can also remove the onload attribute from the body tag So wrote the improved script that is shown in the solution.

Thank you, solved my problem with Chrome – mslliviu Feb 15 at 12:07.

This is a known issue. The problem is that a div tag has the style "overflow: auto" which apparently is not implemented well with WebKit which is used by Safari and Chrome (see Emanuele Greco's answer). I did not know how to take advantage of Emanuele's suggestion to use the RS:ReportViewerHost element, but I solved it using JavaScript.

Problem Solution Since "overflow: auto" is specified in the style attribute of the div element with id "ctl31_ctl10", we can't override it in a stylesheet file so I resorted to JavaScript. I appended the following code to "C:\Program Files\Microsoft SQL Server\MSRS10_50. MSSQLSERVER\Reporting Services\ReportManager\js\ReportingServices.

Js" function FixSafari() { var element = document. GetElementById("ctl31_ctl10"); if (element) { element.style. Overflow = "visible"; //default overflow value } } // Code from http://stackoverflow.com/questions/9434/how-do-i-add-an-additional-window-onload-event-in-javascript if (window.

AddEventListener) // W3C standard { window. AddEventListener('load', FixSafari, false); // NB **not** 'onload' } else if (window. AttachEvent) // Microsoft { window.

AttachEvent('onload', FixSafari); } Note There appears to be a solution for SSRS 2005 that I have not tried but I don't think it is applicable to SSRS 2008 because I can't find the "DocMapAndReportFrame" class.

In my case the offending DIV is "ctl31_ctl09" so if the above solution doesn't work for you try changing var element = document. GetElementById("ctl31_ctl10"); to var element = document. GetElementById("ctl31_ctl09").

I've never had any luck with displaying reports in Chrome. Most of Microsoft's documentation doesn't even list it so I assume Chrome must have trouble interpreting something in the ASP. msdn.microsoft.com/en-us/library/ms15651... I'm running Chrome 11 and experience the same behavior as you.

Look at my solution Ryan.. and good luck! – Emanuele Greco Sep 15 '11 at 8:35.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions