|
网页_屏蔽信息框- * 更改方面有几点,首先是 confirm 默认自动回复 false, 防止原版脚本调用这个函数就直接提示脚本错误;但是缺点也有,用户可能需要某个功能但是被提示压下去了… 所以我还加了两个函数来自动回应。
- * prompt 文本输入提示也该进了: 还是主要防止提示代码出错,因此将默认返回第二个参数(也就是脚本传输的预设值),如果传参不自带则返回空文本。
- + 屏蔽了 window.open 这个弹窗函数。
复制代码 [e].版本 2
.子程序 网页_屏蔽信息框, , 公开, 直接无视网页上弹出来的信息框和对话框
网页_执行脚本 (“with(window){open=alert=confirm=showModalDialog=function(){return!1};prompt=function(a,b){return b||''}}”)
.子程序 网页_自动回复_confirm, , 公开, 直接无视网页上弹出来的信息框和对话框
.参数 回复逻辑值, 逻辑型, 可空, 自动回复的逻辑值
网页_执行脚本 (“with(window){confirm=function(){return!” + 到文本 (选择 (回复逻辑值, 0, 1)) + “}}”)
.子程序 网页_自动回复_prompt, , 公开, 直接无视网页上弹出来的信息框和对话框
.参数 回复文本, 文本型, 可空, 默认为回复默认内容
网页_执行脚本 (“with(window){prompt=function(a,b){return ” + 选择 (是否为空 (回复文本), “b”, “'” + 子文本替换 (回复文本, “'”, “\'”, , , 真)) + “'}}”)[/e]
下面这些主要是一些性能上可能的优化:
网页_滚动条固定、网页_滚动条取位置、网页_滚动条取高宽
[e].版本 2
.子程序 网页_滚动条固定, , 公开, 控制浏览器滚动条上下滑动。
.参数 横向位置, 整数型, 可空, 横向位置
.参数 纵向位置, 整数型, 可空, 纵向位置
.局部变量 dE, 对象
dE = 集_网页文档.读对象型属性 (“documentElement”, )
.如果真 (是否为空 (横向位置) = 假)
dE.写属性 (“scrollTop”, 纵向位置)
.如果真结束
.如果真 (是否为空 (横向位置) = 假)
dE.写属性 (“scrollLeft”, 横向位置)
.如果真结束
.子程序 网页_滚动条取位置, , 公开, 取滚动条横纵向位置。
.参数 横向位置, 整数型, 参考 可空, 用于存放浏览器滚动横向的位置。
.参数 纵向位置, 整数型, 参考 可空, 用于存放浏览器滚动纵向的位置。
.局部变量 dE, 对象
dE = 集_网页文档.读对象型属性 (“documentElement”, )
纵向位置 = dE.读数值属性 (“scrollTop”, )
横向位置 = dE.读数值属性 (“scrollLeft”, )
.子程序 网页_滚动条取高宽, , 公开, 取出浏览器滚动条的高宽
.参数 滚动条高度, 整数型, 参考 可空, 用于存放浏览器滚动条高度的变量。
.参数 滚动条宽度, 整数型, 参考 可空, 用于存放浏览器滚动条宽度的变量。
.局部变量 dE, 对象
dE = 集_网页文档.读对象型属性 (“documentElement”, )
滚动条高度 = dE.读数值属性 (“scrollHeight”, )
滚动条宽度 = dE.读数值属性 (“scrollWidth”, )
[/e]
网页_滚动条控制
[e].版本 2
.子程序 网页_滚动条控制, , 公开, 控制浏览器滚动条上下滑动。
.参数 滚动距离, 整数型, , 正数为下滚,如:50。负数为上滚,如果-50。
.参数 滚动类型, 整数型, 可空, 可空:默认为0。0=纵,1=横
.局部变量 dE, 对象
.局部变量 现在位置, 整数型
dE = 集_网页文档.读对象型属性 (“documentElement”, )
现在位置 = dE.读数值属性 (“scroll” + 选择 (滚动类型 = 1, “Left”, “Top”), ) + 滚动距离
dE.写属性 (“scroll" + 选择 (滚动类型 = 1, “Left”, “Top”), 现在位置)[/e]
自己新增了一个元素对象匹配方法,虽然很方便但是 IE8 才提供基本支持 (CSS2 选择器, 但是内置的规则配置方式足够了),IE9 提供完善些的匹配支持 (如一些 CSS3 新增的选择器)[sup][url=https://developer.mozilla.org/en-US/docs/Web/API/Document.querySelectorAll#Browser_compatibility]资料出处[/sup]。如果需要更方便的元素选择方法而不介意用户群的话可以用这个方法。[e].版本 2
.子程序 元素_取元素对象, 整数型, 公开, 返回匹配到的对象, 但要求用户安装的 IE 版本 >= 8
.参数 匹配规则, 文本型, 可空, #网页元素类型_ + ([#网页元素匹配规则_]/[网页元素匹配规则构建_]) + #网页元素匹配规则_新增规则 + ...
.参数 所有匹配到的元素对象, 元素对象, 参考 可空 数组, ↑详细请参考 querySelectorAll 语法。上述参数留空则取所有元素
.局部变量 _元素对象, 对象
.局部变量 元素集合, 对象, , "0"
.局部变量 i, 整数型
.如果真 (删首尾空 (匹配规则) = “”)
匹配规则 = “*”
.如果真结束
_元素对象 = 集_网页文档.对象型方法 (“querySelectorAll”, 匹配规则)
.如果真 (_元素对象.是否为空 ())
输出调试文本 (“普通填表 -> 元素_取元素对象 -> 未成功匹配到元素对象”)
返回 (-1)
.如果真结束
.变量循环首 (0, _元素对象.读数值属性 (“length”, ) - 1, 1, i)
加入成员 (元素集合, _元素对象.读对象型属性 (“item”, i))
.变量循环尾 ()
所有匹配到的元素对象 = 元素集合
返回 (取数组成员数 (元素集合))
[/e]
然后一个公开函数
[e].版本 2
.子程序 网页元素匹配规则构建_匹配属性, 文本型, 公开
.参数 匹配的属性, 文本型
.参数 匹配类型, 整数型, , #元素匹配规则构建_匹配类型_
.参数 匹配内容, 文本型, 可空, 为 [#元素匹配规则构建_匹配类型_匹配存在] 时可留空
.局部变量 内部用, 文本型
.局部变量 引号, 文本型
.如果真 (匹配类型 < 0 或 匹配类型 > 4)
返回 (“”)
.如果真结束
.判断开始 (匹配类型 ≠ #元素匹配规则构建_匹配类型_匹配存在)
内部用 = 多项选择 (匹配类型 + 1, “”, “^”, “$”, “*”) + “=”
引号 = “'”
.默认
匹配内容 = “”
.判断结束
返回 (“[” + 匹配的属性 + 内部用 + 引号 + 匹配内容 + 引号 + “]”)
[/e]
用到的常量
[e].版本 2
.常量 网页元素类型_链接, "“a”", 公开
.常量 网页元素类型_框架, "“iframe”", 公开
.常量 网页元素类型_表单, "“form”", 公开
.常量 网页元素类型_表单输入, "“input”", 公开
.常量 网页元素类型_多行文本框, "“textarea”", 公开
.常量 网页元素类型_div, "“div”", 公开
.常量 网页元素类型_span, "“span”", 公开
.常量 网页元素类型_图片, "“img”", 公开
.常量 网页元素类型_组合框, "“select”", 公开
.常量 网页元素类型_按钮, "“button”", 公开
.常量 网页元素类型_所有, "“*”", 公开
.常量 网页元素匹配规则_id为, "“#”", 公开
.常量 网页元素匹配规则_类名为, "“.”", 公开
.常量 网页元素匹配规则_子元素, "“ ”", 公开
.常量 网页元素匹配规则_新增规则, "“,”", 公开.常量 元素匹配规则构建_匹配类型_完全匹配, "0", 公开
.常量 元素匹配规则构建_匹配类型_匹配开头, "1", 公开
.常量 元素匹配规则构建_匹配类型_匹配结尾, "2", 公开
.常量 元素匹配规则构建_匹配类型_任意匹配, "3", 公开
.常量 元素匹配规则构建_匹配类型_匹配存在, "4", 公开
[/e]
用法示例:
[e].版本 2
.局部变量 填表, 普通填表
.局部变量 匹配集, 对象, , "0"
' 匹配 ID 为 inp1 的输入元素
填表.元素_取元素对象 (#网页元素类型_表单输入 + #网页元素匹配规则_id为 + “inp1”, 匹配集)
' 匹配所有按钮
填表.元素_取元素对象 (#网页元素类型_按钮 + #网页元素匹配规则_新增规则 + #网页元素类型_表单输入 + 网页元素匹配规则构建_匹配属性 (“type”, #元素匹配规则构建_匹配类型_完全匹配, “button”) + #网页元素匹配规则_新增规则 + #网页元素类型_表单输入 + 网页元素匹配规则构建_匹配属性 (“type”, #元素匹配规则构建_匹配类型_完全匹配, “submit”), 匹配集)
' 或者如果熟悉语法可以自己构建匹配规则。上面那个可以通过易语言 IDE 点左边的加号,一条一条的很方便思路查看。
框架填表.元素_取元素对象 (“button,input[type='button'],input[type='submit']”, 匹配集)
[/e]
目前就这些… 下午顺便研究了下跨域填表,蛮好玩的 w
如有错误,还请指出。
P.s. 精易模块改造起来其实蛮好玩的,改了之后更顺手了 233
P.s.2. 现在 IE 信息框弹窗标题不是“Microsoft Internet Explorer” 了,变成了 “Message from webpage”。循环查找关闭 IE 消息框的函数【网页_自动点击网页信息框】可能要稍微改改了w。
|
评分
-
查看全部评分
|