Page 1 of 1

浏览器添加左右键翻页

Posted: 24 Jan 2019, 09:24
by feiyue
下面是我常用的浏览器添加左右键翻页的方法。

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


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

Posted: 11 Oct 2019, 08:27
by fwejifjjwk2
editing

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

Posted: 11 Oct 2019, 08:37
by fwejifjjwk2
editing

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

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

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

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

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

Posted: 13 Oct 2019, 02:56
by pigwei
@fwejifjjwk2
在吗 老师

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

Posted: 13 Oct 2019, 06:41
by fwejifjjwk2
editing

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

Posted: 13 Oct 2019, 21:31
by pigwei
我刚刚试了,还是不行,我可能不太懂代码,但是我会根据代码适当的修改,可以把老师自己正在使用的代码直接复制给我参考吗,谢谢呢

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

Posted: 14 Oct 2019, 02:50
by tmplinshi
不错,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
}

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

Posted: 14 Oct 2019, 22:44
by pigwei
@tmplinshi
@tmplinshi
我刚刚测试了一下,百度可以用,淘宝就不可以,麻烦老师看一下

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

Posted: 15 Oct 2019, 02:02
by tmplinshi
@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
}

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

Posted: 15 Oct 2019, 04:57
by pigwei
刚刚测试了一下 淘宝 百度都无法使用的哦

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

Posted: 15 Oct 2019, 06:45
by tmplinshi
我测试 淘宝/百度 都可以,Chrome 浏览器。

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

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