为了账号安全,请及时绑定邮箱和手机立即绑定

利用JavaScript保存网页某部分内容到本地

标签:
JavaScript

自从有了上次利用代码解决实际问题后,便无法自拔的想用代码去解决生活中遇到的问题。
  平时喜欢在网上找些简单开源项目看看,学习。此为背景。
今天无意中发现这个

 
每次打开网页都很麻烦,于是我就想着把这个表格保存到本地(原HTML),留着以后慢慢看。

  于是

var tab=document.getElementById("table_default"); 
//获取行数 
var rows=tab.rows; 
//遍历行 
for(var i=0;i<rows.length;i++) 
{ 
//遍历表格列 
for(var j=0;j<rows[i].cells.length;j++) 
{ 
    console.log(rows[i].cells[j].innerHTML);

//打印某行某列的值 
/*alert("第"+(i+1)+"行,第"+(j+1)+"列的值是:"+rows[i].cells[j].innerHTML);*/
 }
}
 alert("共有"+(i+1)*4+"个C#开源项目"); 

  OK,代码写完了,该保存了,然后谷歌了一波Javascript文件操作。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script language="JavaScript"> 

var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var file=fso.CreateTextFile("c:\\test\\test.txt", true); 
</script>
</head>
<body>

</body>
</html>


  Excuse Me?

  Chrome是基于Webkit的, ActiveXObject对象只能在IE下操作。

  好好好,IE就IE。

  Nice,成功!现在就写入内容吧。

var fso = new ActiveXObject("Scripting.FileSystemObject"); 
    var file=fso.CreateTextFile("c:\\test\\test.txt", true); 
    var tableInfo="";
        var tab = document.getElementById("table_default") ;
        for(var i=0;i<tab.rows.length;i++)
         {
            for(var j=0;j<tab.rows[i].cells.length;j++)
            {
                tableInfo += tab.rows[i].cells[j].innerText;   //获取Table中单元格的内容
                tableInfo += "   ";
            }
         }
          file.write(tableInfo);
          file.Close();

  最终效果如下:

  总结:这个IE还是不大安全的,这个所谓的 ActiveX插件居然可以和本地文件进行交互。另外,以后还是拿C#或者Java其他类型的语言实现这种功能,Javascript进行文件交互实在太麻烦了。

  我花在想代码的时间比复制粘贴多很多时间。

  在知乎上也看到了这个问题。你有哪些用计算机技能解决生活问题的经历?

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消