Ipad safari cuts off html lists and pdfs

I have an asp.net application that generates reports in several formats (html, pdf, xls). All other browsers present them fine, except for ipad safari. I only get the top of the report, that is to say, what appears on the page. There appears to be no way to scroll down to see the rest of the report. Is there something in the configuration of the ipad that will make the rest of the report available? The html is just a table of data, and the pdf is just a normal pdf. (I don't have excel installed on the ipad, so I don't know what happens in that case).

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

In my experience, asp.net code often does not create fully compliant HTML and Safari, especially on iOS, is less forgiving. Either validate the code using http://validator.w3.org or another validator, or try an alternate browser on the iPad, such as iCab or Opera.
Gary_NelsonAuthor Commented:
<<In my experience, asp.net code often does not create fully compliant HTML >>

The HTML in question is not created by ASP.NET. It is just a table with data in it that I create by code. I found that by draging two fingers up the page I can get it to sloooowly scroll down the HTML. But I still haven't figured how to get it to scroll down the PDF:
So, does that mean you are trying to load all the data in the report in one go? Remember, the iPad only has 256MBs of memory for the OS, Safari and very little left for the data in a web page.

Try paginating the data, preferably using AJAX for usability and quick initial load. You could do this simple with good old-fashioned Next Page/Last Page buttons, but I found inspiration in the Bing Image Search which catches the scroll event and fetches the next page of data asynchronously adding to the output.

Take a look: http://www.bing.com/images?q=cat

This works really well with thumbnails and would surely work even better with tabular formatted textual data.
Your Guide to Achieving IT Business Success

The IT Service Excellence Tool Kit has best practices to keep your clients happy and business booming. Inside, you’ll find everything you need to increase client satisfaction and retention, become more competitive, and increase your overall success.

Gary_NelsonAuthor Commented:
I discovered the problem with html. The table was enclosed with a div. On any other browser the div appeared with scrollbars to the right to scroll through the content. Apparently that doesn't work on the ipad. By removing the div I can now scroll normally through the whole table. Actually I was able to get a table with over 2000 lines to load.

I still haven't solved the problem of the PDF.
Hi Gary,

It can't be JUST that there is a div. There must be something else, like the width of the DIV exceeds the width of the page or something like that... The iPad handles DIVs perfectly fine.

I am an experienced HTML coder (16+ years experience) that has been writing websites the past few months designed specifically for the iPad (I like to design sites to appear like stand alone apps.

I would be happy to analyze the html code for you if you attach it to a post. At this point, the most useful bit would be the code that the browser is rendering, so on a Mac or PC, open the page in a browser and then show the source and save to file or copy/paste it to a text file and save it, and upload that here. Do the same with the PDF page's source (leave out the PDF itself - I can substitute a placeholder). If you need to obscure content for privacy/security, perhaps you can use false data in your app or if you absolutely must, SUPER CAREFULLY edit the saved browser source to REPLACE text content with nonsense text (it might also be a good idea to keep the replacement text the same length as the original as otherwise, formatting changes MIGHT occur).

The same with the PDF page source... Don't include the PDF itself. I can substitute another PDF in it's place.

Just understand, I am a professional UI Designer and raw coding of HTML is (amongst other things) what I do for a living, though I am more than happy to help others out with what I think is probably a simple issue.
Gary_NelsonAuthor Commented:
<<It can't be JUST that there is a div. >>

Well, all I can say is that I added the following code and the problem disapeared:

        Dim IsIpad As Boolean = (HttpContext.Current.Request.UserAgent.ToLower.Contains("ipad"))
        ' code ...       
        If Not IsIpad Then
                SB.Append("<div  align=" + Chr(34) + "left" + Chr(34) + " style= " + Chr(34) + " position:absolute; width: 95%; height:90%; z-index:auto; overflow: auto; left:10px; top: 40px; border: thin solid #E9E3AD;   background-color: " & Colores(0) + Chr(34) + ">")
        End If
        ' a lot of code to create the table ....
        If Not IsIpad Then SB.Append("</div>")

Open in new window

If you want to see what is happening with the PDF, you can check out our web page. Its in Spanish, but all you have to do is the following.

1) go to www.conta.net
2) Usuario (user name): expertsexchange
    Clave (password): 1234
3) Chose the menu Diario and submenu Diario.
4) Just hit (Aceptar)

The pdf should pop up and you can observe the problem.

Question PAQ'd and stored in the solution database.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.