浏览器添加左右键翻页

许多实用脚本和封装函数, 可以让您编写脚本更加便捷高效

Moderators: tmplinshi, arcticir

feiyue
Posts: 349
Joined: 08 Aug 2014, 04:08

浏览器添加左右键翻页

24 Jan 2019, 09:24

下面是我常用的浏览器添加左右键翻页的方法。

Code: Select all


start_01() {
  static init:=start_01()
  SetTitleMatchMode, 2  ;//匹配部分标题
  GroupAdd, MyBrowser, 360安全浏览器
  GroupAdd, MyBrowser, 360极速浏览器
  GroupAdd, MyBrowser, 搜狗高速浏览器
  GroupAdd, MyBrowser, 世界之窗浏览器
  GroupAdd, MyBrowser, 2345加速浏览器
  GroupAdd, MyBrowser, GreenBrowser
  GroupAdd, MyBrowser, Firefox
  GroupAdd, MyBrowser, Chrome
  GroupAdd, MyBrowser, ahk_class IEFrame
  GroupAdd, MyBrowser, ahk_class 360se5_Frame
  GroupAdd, MyBrowser, ahk_class 360se6_Frame
  GroupAdd, MyBrowser, ahk_class Chrome_WidgetWin_1
  GroupAdd, MyBrowser, ahk_class ShockwaveFlashFullScreen
}

*$ScrollLock:: Left_Right := !Left_Right  ;//设置一个开关热键

#If (Left_Right) and WinActive("ahk_group MyBrowser") and (A_Cursor!="IBeam")

$Right::  ;//下一页
$Left::   ;//上一页
js=
(LTrim Join`s
try {
  var Re=new RegExp("(下|后)(一|\s)*(页|頁|章|篇|翻)","i");
  var a=document.getElementsByTagName("A");
  for (var i=0;i<a.length;i++) {
    if (Re.test(a[i].innerHTML)) {
      if (a[i].href.substr(0,11).toLowerCase()=="javascript:")
        a[i].click();
      else
        document.location.href=a[i].href;
      break;
    }
  }
} catch (e){}
)
js:="javascript:" js
js:=InStr(A_ThisLabel,"Right") ? js : StrReplace(js,"下|后","上|前")
;//某些浏览器的地址栏不能粘贴“javascript:”
Send {Alt Down}d{Alt Up}
Sleep, 50
k:="{ASC " Asc("j") "}"
Loop {
  if (A_Index>10)
    return
  Clipboard:=""
  SendInput %k%{Del}{Ctrl Down}ac{Ctrl Up}
  ClipWait, 0.1
} Until (Clipboard="j")
Clipboard:=SubStr(js,2)
SendInput {End}{Ctrl Down}v{Ctrl Up}{Enter}
Sleep, 500
return

#If

Last edited by feiyue on 14 Jun 2020, 19:59, edited 2 times in total.
fwejifjjwk2
Posts: 89
Joined: 10 Aug 2019, 01:49

Re: 浏览器添加左右键翻页

11 Oct 2019, 08:27

editing
Last edited by fwejifjjwk2 on 05 Apr 2021, 20:27, edited 1 time in total.
fwejifjjwk2
Posts: 89
Joined: 10 Aug 2019, 01:49

Re: 浏览器添加左右键翻页

11 Oct 2019, 08:37

editing
Last edited by fwejifjjwk2 on 05 Apr 2021, 20:28, edited 2 times in total.
pigwei
Posts: 10
Joined: 13 Oct 2019, 02:36

Re: 浏览器添加左右键翻页

13 Oct 2019, 02:52

fwejifjjwk2 wrote:
11 Oct 2019, 08:27
我把第 15 行的 and (Left_Right) 註釋掉,然後更改 GroupAdd 那邊匹配的標題就可以用了。
這裡開關熱鍵是 scrolllock 鍵,但是我覺得這裡已經匹配標題了,不太需要這個開關,不過還是學習到了一個新的用法,感謝分享,非常的強大。
请教老师,可以把您修改好的代发分享一下吗,一直特别需要这么好用的代码,楼主的代码好像不能使用,我不会修改,万分感谢
pigwei
Posts: 10
Joined: 13 Oct 2019, 02:36

Re: 浏览器添加左右键翻页

13 Oct 2019, 02:54

请问老师可以分享下吗,特别喜欢这段代码,可惜一楼的好像不能使用,谢谢哦
pigwei
Posts: 10
Joined: 13 Oct 2019, 02:36

Re: 浏览器添加左右键翻页

13 Oct 2019, 02:56

@fwejifjjwk2
在吗 老师
fwejifjjwk2
Posts: 89
Joined: 10 Aug 2019, 01:49

Re: 浏览器添加左右键翻页

13 Oct 2019, 06:41

editing
Last edited by fwejifjjwk2 on 05 Apr 2021, 21:43, edited 1 time in total.
pigwei
Posts: 10
Joined: 13 Oct 2019, 02:36

Re: 浏览器添加左右键翻页

13 Oct 2019, 21:31

我刚刚试了,还是不行,我可能不太懂代码,但是我会根据代码适当的修改,可以把老师自己正在使用的代码直接复制给我参考吗,谢谢呢
tmplinshi
Posts: 1604
Joined: 01 Oct 2013, 14:57

Re: 浏览器添加左右键翻页

14 Oct 2019, 02:50

不错,Chrome 浏览器测试可用。我稍微改了下:

Code: Select all

; https://www.autohotkey.com/boards/viewtopic.php?f=28&t=61347

F8::pageNav("pre") ; 上一页
F9::pageNav("next") ; 下一页

pageNav(cmd = "next") {
	colon := ":"   ; 论坛不允许 javascript 和 : 连在一起出现在帖子中,所以用变量替换。

	static js
	if (!js)
	{
		js =
		(LTrim Join`s
			function pageNav(cmd = "next") {
				var r = (cmd=="next") ? "(下|后)" : "(上|前)";
				var Re = new RegExp(r + "(一|\s)*(页|頁|章|篇|翻)", "i");
				var a = document.getElementsByTagName("A");
				for (var i=0; i<a.length; i++) {
					if (Re.test(a[i].innerHTML)) {
						if (a[i].href.substr(0,11).toLowerCase() == "javascript%colon%")
							a[i].click();
						else
							document.location.href = a[i].href;
						break;
					}
				}
			}
		)
	}
	
	clipBackup := ClipboardAll

	Send {Alt Down}d{Alt Up}
	Sleep, 50
	Clipboard := ".javascript" . colon . js . ";pageNav('" cmd "');"
	SendInput {Ctrl Down}v{Ctrl Up}{Home}{Del}{Enter}

	Sleep, 100
	Clipboard := clipBackup
}
pigwei
Posts: 10
Joined: 13 Oct 2019, 02:36

Re: 浏览器添加左右键翻页

14 Oct 2019, 22:44

@tmplinshi
@tmplinshi
我刚刚测试了一下,百度可以用,淘宝就不可以,麻烦老师看一下
tmplinshi
Posts: 1604
Joined: 01 Oct 2013, 14:57

Re: 浏览器添加左右键翻页

15 Oct 2019, 02:02

@pigwei

Code: Select all

; https://www.autohotkey.com/boards/viewtopic.php?f=28&t=61347

F8::pageNav("pre") ; 上一页
F9::pageNav("next") ; 下一页

pageNav(cmd = "next") {
	colon := ":"   ; 论坛不允许 javascript 和 : 连在一起出现在帖子中,所以用变量替换。

	static js
	if (!js)
	{
		js =
		(LTrim Join`s
			function pageNav(cmd = "next") {
				var r = (cmd=="next") ? "(下|后)" : "(上|前)";
				var Re = new RegExp(r + "(一|\s)*(页|頁|章|篇|翻)", "i");
				var a = document.getElementsByTagName("A");
				for (var i=0; i<a.length; i++) {
					if (Re.test(a[i].innerHTML)) {
						a[i].click();
						break;
					}
				}
			}
		)
	}
	
	clipBackup := ClipboardAll

	Send {Alt Down}d{Alt Up}
	Sleep, 50
	Clipboard := ".javascript" . colon . js . ";pageNav('" cmd "');"
	SendInput {Ctrl Down}v{Ctrl Up}{Home}{Del}{Enter}

	Sleep, 100
	Clipboard := clipBackup
}
pigwei
Posts: 10
Joined: 13 Oct 2019, 02:36

Re: 浏览器添加左右键翻页

15 Oct 2019, 04:57

刚刚测试了一下 淘宝 百度都无法使用的哦
tmplinshi
Posts: 1604
Joined: 01 Oct 2013, 14:57

Re: 浏览器添加左右键翻页

15 Oct 2019, 06:45

我测试 淘宝/百度 都可以,Chrome 浏览器。
pigwei
Posts: 10
Joined: 13 Oct 2019, 02:36

Re: 浏览器添加左右键翻页

15 Oct 2019, 08:51

我是360chrome,而且都是默认新链接打开网页的,所以就没用,因为这段代码不是真正模拟人点击下一页,而且生成一个链接,然后在地址栏打开的,我觉得这样不是很好

Return to “脚本函数”

Who is online

Users browsing this forum: No registered users and 32 guests