diff -r dfe864318196 -r 94a4e8d1ac4f WebBrowser/WebBrowserPage.py --- a/WebBrowser/WebBrowserPage.py Tue Feb 13 19:52:13 2018 +0100 +++ b/WebBrowser/WebBrowserPage.py Tue Feb 13 19:53:35 2018 +0100 @@ -55,6 +55,8 @@ safeBrowsingBad = pyqtSignal(str, str) printRequested = pyqtSignal() + navigationRequestAccepted = pyqtSignal(QUrl, QWebEnginePage.NavigationType, + bool) def __init__(self, parent=None): """ @@ -82,7 +84,7 @@ self.__printer = None self.__badSite = False - if qVersionTuple == (5, 10, 0): + if qVersionTuple() == (5, 10, 0): self.loadProgress.connect(self.__loadProgressSlot) # Workaround for changing webchannel world inside @@ -181,19 +183,22 @@ result = QWebEnginePage.acceptNavigationRequest(self, url, type_, isMainFrame) - if result and isMainFrame: - isWeb = url.scheme() in ("http", "https", "ftp", "ftps", "file") - globalJsEnabled = WebBrowserWindow.webSettings().testAttribute( - QWebEngineSettings.JavascriptEnabled) - if isWeb: - enable = globalJsEnabled - else: - enable = True - self.settings().setAttribute( - QWebEngineSettings.JavascriptEnabled, enable) - - self.__channelUrl = url - self.__setupChannelTimer.start() + if result: + if isMainFrame: + isWeb = url.scheme() in ("http", "https", "ftp", "ftps", + "file") + globalJsEnabled = WebBrowserWindow.webSettings().testAttribute( + QWebEngineSettings.JavascriptEnabled) + if isWeb: + enable = globalJsEnabled + else: + enable = True + self.settings().setAttribute( + QWebEngineSettings.JavascriptEnabled, enable) + + self.__channelUrl = url + self.__setupChannelTimer.start() + self.navigationRequestAccepted.emit(url, type_, isMainFrame) return result