中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助] javascript的网页变化,IE右健
作者:
标题: [求助] javascript的网页变化,IE右健 上一主题 | 下一主题
kioskboy
初级用户





积分 153
发帖 103
注册 2008-3-27
状态 离线
『楼 主』:  [求助] javascript的网页变化,IE右健

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 ]

2009-5-28 12:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 2 楼』:  

首先想问一下这段代码是不是抄来的,参数 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 ]

2009-8-6 04:18
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
xswdong
中级用户





积分 216
发帖 129
注册 2007-2-14
状态 离线
『第 3 楼』:  

真不错的东东 下来玩玩 我觉得做成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倍?

2009-8-6 06:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 4 楼』:  



  Quote:
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>


2009-8-6 06:57
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 5 楼』:  

注意这里的缩放和右下角的不一样!

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

实际的大小是 zoom 值 乘以 放大镜的值。

2009-8-6 07:01
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
xswdong
中级用户





积分 216
发帖 129
注册 2007-2-14
状态 离线
『第 6 楼』:  

谢谢qinchun36 完全满足要求,以后在网页中截图 就可以直接选取大小了 !!赞一个

2009-8-6 23:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: