中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 05:10
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助] javascript的网页变化,IE右健 查看 783 回复 5
楼 主 [求助] javascript的网页变化,IE右健 发表于 2009-05-28 12:10 ·  中国 广东 电信
初级用户
★★
积分 153
发帖 103
注册 2008-03-27 19:38
18年会员
UID 114210
性别 男
状态 离线
1.
reg add "HKCU\Software\Microsoft\Internet Explorer\MenuExt\zoomIn" /f /ve /t REG_SZ /d "C:\Windows\zoomIn.htm"

2.
把zoomIn.htm复制到C:\Windows下了(内容如下)
<script language="javascript">
function pluginExec(st) {
var zoom = document.body.style.zoom;
if(!zoom)
zoom = '100%';

if(zoom.match(/^\d+%$/)) {
var iZoom = parseInt(zoom.slice(0, zoom.length-1));
if(iZoom > 50) {
iZoom = iZoom - 10;
document.body.style.zoom = iZoom.toString() + '%';
}
}
}
</script>

但是实现不了网页缩小的功能

[ Last edited by kioskboy on 2009-5-28 at 12:13 ]
2 发表于 2009-08-06 04:18 ·  中国 天津 联通
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
首先想问一下这段代码是不是抄来的,参数 st 是干什么用的 ?
猜测可能是设置每次缩小的量,你代码里根本没用,我给你改改。

严重错误:
1. 最大的失误,你只声明了一个函数,代码中根本没有调用,所以无论怎么样肯定都没反应的,应该在 function 外面 调用 pluginExec(st) ;
2. 你这个页面是插件,因此被加载时不存在 document 对象,如果有的话,你说它应该是本身作为插件的这个页面的还是你点右键那个页面的?
事实上只能通过另一种途径获取要缩放那个页面的 document 对象。
3. zoom 本来就是数字,没不要再转字符,而且得到的值就是小数,没有 % 号,你那方法不行。
修改后的 htm 内容:

<script language="javascript">
var document = external.menuArguments.document;
function pluginExec(st) {
var zoom = document.body.style.zoom;
if(!zoom) {
zoom = 1;
}
if(zoom > 0.5) {
zoom = zoom - st;
document.body.style.zoom = zoom;
}
}
pluginExec(0.1);
</script>



还可以扩展成循环缩放,如果小于 50% 就设置为 150%:


<script language="javascript">
var document = external.menuArguments.document;
function pluginExec(st) {
var zoom = document.body.style.zoom;
if(!zoom) {
zoom = 1;
}
document.body.style.zoom = zoom>0.5 ? zoom - st : 1.5;
}
pluginExec(0.1);
</script>


[ Last edited by qinchun36 on 2009-8-6 at 04:40 ]
3 发表于 2009-08-06 06:01 ·  中国 北京 中电华通通信有限公司
中级用户
★★
积分 216
发帖 129
注册 2007-02-14 07:26
19年会员
UID 79469
性别 男
状态 离线
真不错的东东 下来玩玩 我觉得做成ie按钮会更好用些,毕竟右键不大方便
reg add "HKCU\Software\Microsoft\Internet Explorer\MenuExt\zoomIn" /f /ve /t REG_SZ /d "%~dp0缩放页面.htm"

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{00000000-0000-0000-0000-000000000022}" /v "ButtonText" /t REG_SZ /d "缩放页面" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{00000000-0000-0000-0000-000000000022}" /v "CLSID" /t REG_SZ /d "{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{00000000-0000-0000-0000-000000000022}" /v "Default Visible" /t REG_SZ /d "Yes" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{00000000-0000-0000-0000-000000000022}" /v "Script" /t REG_SZ /d "%~dp0缩放页面.htm" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{00000000-0000-0000-0000-000000000022}" /v "HotIcon" /t REG_SZ /d "%~dp0ICO_137.ico" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{00000000-0000-0000-0000-000000000022}" /v "Icon" /t REG_SZ /d "%~dp0ICO_137.ico" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{00000000-0000-0000-0000-000000000022}" /v "MenuText" /t REG_SZ /d "缩放页面" /f


问问qinchun36 如何做成这样的,点一下按钮缩小75%,再点恢复正常,再点放大2倍?
4 发表于 2009-08-06 06:57 ·  中国 天津 联通
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
Originally posted by xswdong at 2009-8-6 06:01 AM:
真不错的东东 下来玩玩 我觉得做成ie按钮会更好用些,毕竟右键不大方便
reg add "HKCU\Software\Microsoft\Internet Explorer\MenuExt\zoomIn" /f /ve /t REG_SZ /d &qu ...


如何做成这样的,点一下按钮缩小75%,再点恢复正常,再点放大2倍?

根据自己需要写点条件判断语句控制 document.body.style.zoom 的值就行了。

<script language="javascript">
var document = external.menuArguments.document;
function pluginExec() {
var zoom = document.body.style.zoom;
if(!zoom) {
zoom = 1;
}
document.body.style.zoom = (zoom==1) ? 0.75 : (zoom==0.75 ? 2 : 1);
}
pluginExec();
</script>
5 发表于 2009-08-06 07:01 ·  中国 天津 联通
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
注意这里的缩放和右下角的不一样!

你点那个放大镜不会改变这里的 zoom 值,当然这里也不会改变放大镜那里的值。

实际的大小是 zoom 值 乘以 放大镜的值。
6 发表于 2009-08-06 23:14 ·  中国 北京 中电华通通信有限公司
中级用户
★★
积分 216
发帖 129
注册 2007-02-14 07:26
19年会员
UID 79469
性别 男
状态 离线
谢谢qinchun36 完全满足要求,以后在网页中截图 就可以直接选取大小了 !!赞一个
论坛跳转: