Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 5d2b66b

Browse files
锚点跳转
1 parent 42e8bbe commit 5d2b66b

File tree

4 files changed

+17
-0
lines changed

4 files changed

+17
-0
lines changed

‎Utils/CommonUtil.py‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ class _Signals(QObject):
149149
cloneFinished = pyqtSignal(str)
150150
# 跳转到item
151151
itemJumped = pyqtSignal(str)
152+
# 跳转到锚点
153+
anchorJumped = pyqtSignal(str)
152154

153155
# 显示更新对话框
154156
updateDialogShowed = pyqtSignal()

‎Utils/NetworkAccessManager.py‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,12 @@ def createRequest(self, op, originalReq, outgoingData):
5050
elif self.whitelist.search(surl):
5151
return super(NetworkAccessManager,
5252
self).createRequest(op, originalReq, outgoingData)
53+
elif surl.find('#') > -1:
54+
originalReq.setUrl(QUrl())
55+
Signals.anchorJumped.emit(
56+
re.split(r'#\d+[,.,。、]|#\d+', surl, 1)[-1].strip())
57+
return super(NetworkAccessManager,
58+
self).createRequest(op, originalReq, outgoingData)
5359

5460
if url.scheme() == 'tencent':
5561
# 调用tx的app

‎Widgets/MainWindow.py‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,14 @@ def onUrlLoaded(self, name):
203203
url.setQuery('name={}'.format(name))
204204
self.webViewContent.load(url)
205205

206+
def onAnchorJumped(self, word):
207+
"""锚点跳转
208+
:param word:
209+
"""
210+
if not word:
211+
return
212+
self._runJs('$("h2:contains({})")[0].scrollIntoView();'.format(word))
213+
206214
def onLinkClicked(self, url):
207215
"""加载网址
208216
:param url:

‎Widgets/MainWindowBase.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ def _initSignals(self):
8484
Signals.showCoded.connect(self.renderCode)
8585
Signals.showReadmed.connect(self.renderReadme)
8686
Signals.urlLoaded.connect(self.onUrlLoaded)
87+
Signals.anchorJumped.connect(self.onAnchorJumped)
8788
Signals.runExampled.connect(self._runFile)
8889
Signals.runUiFile.connect(self._runUiFile)
8990
Signals.cloneFinished.connect(lambda: self._showNotice(

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /