打印

如何用htm或者脚本代码实现源代码替换?谢谢了

如何实现在头部页面的<head></head>加入一些代码来自动把下面源代码的指定字符替换掉?

原因是我有个论坛 但是不能修改任何的htm模板代码,只能在头部<head></head>这里面写代码,我想问下,怎么写才能实现自动把页面源文件内容中的特定字符自动替换为指定字符。

或者直接禁用某个网址 ,就是说只要地址包含了某个字符串就无法打开,如何实现?


想禁用或替换的就是如下这种代码,由于不能修改源文件所以只能在头部加代码实现了。
<li><a href="aaaa.php?action=aaaa">一个操作</a></li>
示例:
复制内容到剪贴板
代码:
window.onload = function(){
var objs = document.getElementsByTagName("li");
for(var i=0; i<objs.length; i++)if(objs[i].innerHTML == "<a href=\"aaaa.php?action=aaaa\">一个操作</a>")objs[i].innerHTML = “”;
}
谢谢你 可是我试了之后不管用啊 那个链接照样可以打开,这是网页代码 你看看:

这是头部代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title> 测试  - Powered by Discuz!</title>
<script language="JavaScript">
window.onload = function(){
var objs = document.getElementsByTagName("li");
for(var i=0; i<objs.length; i++)if(objs[i].innerHTML == "<a href=\"modcp.php?action=admin\">管理系统</a>")objs[i].innerHTML = “”;
}
</script><meta name="keywords" content="" />
<meta name="description" content=" 测试 测试 - Discuz! Board" />
<meta name="generator" content="Discuz! 6.1.0" />
<link rel="archives" title="测试" href="http://127.0.0.1/archiver/" />
<link rel="stylesheet" type="text/css" href="caches/tempcaches/5f/longzujiangyu/style_1_common.css" />
<script type="text/javascript">
       var discuz_uid = 1;var IMGDIR = 'http://www.discuz.net/images/default';var attackevasive = '0';var gid = 0;var STYLEID = '1';var USERCACHE = 'caches/tempcaches/5f/longzujiangyu';
       var fid = parseInt('0');var tid = parseInt('0');
</script>
<script src="include/javascript/common.js" type="text/javascript"></script>
</head>



这是要禁止的那一段:
       <h2>其他</h2>
                            <ul>
                                   <li><a href="modcp.php?action=admin">管理系统</a></li>
                                   <li><a href="index.php">返回</a></li>
我只能给出一个大概的思路,需要你调试了才能用的...

试试这个看看:
复制内容到剪贴板
代码:
window.onload = function(){
   var objs = document.getElementsByTagName("a");
   for(var i=0; i<objs.length; i++)if(objs[i].innerHTML == "管理系统")objs[i].innerHTML = "";
}

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
辛苦了
试了一下 还是不行 似乎靠文字判断不管用?还得去判断htm?

http://192.168.3.22/modcp.php?action=admin
这个链接是一点都没变啊…… 奇怪

用不用我贴出来更详细的代码?

TOP

可能是受到了其他的脚本的影响,覆盖了window.onload事件...

再试试:
复制内容到剪贴板
代码:
function delete_link(){
   try{
      var objs = document.getElementsByTagName("a");
      for(var i=0; i<objs.length; i++)if(objs[i].innerHTML == "管理系统")objs[i].innerHTML = "";
   }catch(e){}
}
setInterval(delete_link, 500);

TOP

麻烦你了……  试了半天 还是不行 ,试过改了好几次变量都不行 你看看是哪里出了问题,
代码我全部贴出来吧……

 提示:您可以先修改部分代码再运行
[ 本帖最后由 a1122534 于 2008-7-14 23:54 编辑 ]

TOP

很汗的说,偶把一个英文的分号打成中文的了,then被你直接copy了...

运行这个看看是不是你要的效果:

 提示:您可以先修改部分代码再运行

TOP

太感谢了!!可以了!  刚才差点迷糊着了……

再问个,modcp.php?action=admin这个如何替换成别的链接?

<script language="JavaScript">
window.onload = function(){
   var objs = document.getElementsByTagName("a");
   for(var i=0; i<objs.length; i++)if(objs[i].innerHTML == "管理系统")objs[i].innerHTML = "替换字符";
}
</script>

这个实验后可以替换文字但是写链接没有用。

TOP

测试的时候发现,那个替换或者删除的动作会有个延迟 就是等页面出来完了那个连接才会消失
,就是闪一下很快就没了,
这样在网速慢的时候就会暴露了
如果翻到那个位置刷新的话 速度快也可以看出来闪了一下,

有没有办法让它不延迟? 或者说一开始就显示的是别的?

不过这样的说 用改链接的办法还是比较保险的 毕竟源代码不会直接表现在网页闪动上。

[ 本帖最后由 a1122534 于 2008-7-15 01:57 编辑 ]

TOP

有知道的吗?谢谢

TOP