Is there any way to scroll an HTMLViewer to the top programmatically. I would like to do this after resizing the HTMLViewer programmatically. Don’t see anything in the docs that I can use for this purpose.
Thanks,
John
Is there any way to scroll an HTMLViewer to the top programmatically. I would like to do this after resizing the HTMLViewer programmatically. Don’t see anything in the docs that I can use for this purpose.
Thanks,
John
https://www.w3schools.com/jsref/met_win_scrollto.asp
HTMLViewer1.executeJavaScript("window.scrollTo(0, 0);")
Michel B, Thanks!
I can’t seem to get it to work. I tried the following without doing any resizing…
htmlViewer_Document.executeJavaScript(“window.scrollTo(100,100);”)
htmlViewer_Document.executeJavaScript(“window.scrollBy(100, 100);”)
Nothing happens. I have the browser small enought to display the scroll bars
Is there another setting I have to make on the viewer?
John
OK. Here is code that gets inside the HTMLViewer content :
HTMLViewer1.executeJavaScript("document.getElementById('"+HTMLViewer1.controlID+"').getElementsByTagName('iframe')[0].contentWindow.scrollTo(0, 0);")
HOWEVER, if the page in the WebHTMLViewer is not on the same domain as your app, it will not work, for security reasons. You will get the following error :
Could not execute returned javascript: Blocked a frame with origin "http://127.0.0.1:8080" from accessing a cross-origin frame.
Source: document.getElementById('GrxdEByi').getElementsByTagName('iframe')[0].contentWindow.scrollTo(0, 0);
Tried your second suggestion. Did not work for me either. No errors.
Not sure I have it coded correctly. The only thing I changed was the viewer name from HMLViewer1 to the name of my viewer htmlViewer_Document
Maybe I can solve my problem another way. The problem appears to not so much be a position of the vertical scroll bar, but the position of the page within the viewer. After shrinking the size of the viewer by increasing the Top coordinate from 0 to 160, the vertical scroll bar does in fact remain at the 0 position. The content, however, of the viewer, in this case a PDF file, is displayed with the top cut off as if the Top coordinate of the viewer was still at 0. If I move the vertical scroll bar as little as 1 pixel the content will snap down to where it’s supposed to be.
John
Well it’s a PDF, it’s not a webpage. The PDF is displayed by the PDF renderer.
If that renderer supports Javascript, then it would work - but I think you might be throwing javascript at something that’s not listening.
Indeed, JavaScript is not available for straight PDF.
Another approach would be to place the HTMLViewer, full size, within a WebContainer. Then you can scroll it the way you want with ScrollTo.