diff -r 973b0d0ecc87 -r c104c120e043 WebBrowser/WebBrowserPage.py --- a/WebBrowser/WebBrowserPage.py Fri Feb 01 19:18:45 2019 +0100 +++ b/WebBrowser/WebBrowserPage.py Fri Feb 01 20:15:03 2019 +0100 @@ -28,6 +28,7 @@ from .JavaScript.ExternalJsObject import ExternalJsObject from .Tools.WebHitTestResult import WebHitTestResult +from .Tools import Scripts import Preferences from Globals import qVersionTuple @@ -83,6 +84,12 @@ self.urlChanged.connect(self.__urlChanged) + try: + self.contentsSizeChanged.connect(self.__contentsSizeChanged) + except AttributeError: + # defined for Qt >= 5.7 + pass + self.__printer = None self.__badSite = False @@ -466,6 +473,17 @@ loop.exec_() return resultDict["res"] + def __contentsSizeChanged(self, size): + """ + Private slot to work around QWebEnginePage not scrolling to anchors + when opened in a background tab. + + @param size changed contents size (unused) + @type QSize + """ + fragment = self.url().fragment() + self.runJavaScript(Scripts.scrollToAnchor(fragment)) + ############################################## ## Methods below deal with JavaScript messages ##############################################