Javascript 用超链接搜索并替换字符串
我不确定这是否可行,但我正在帮助一个用.aspx编译的相当大的网站 我们想改变网站上的链接,但没有实际的地方编辑链接的文本。不过,我可以使用CSS或Javascript来编辑网站Javascript 用超链接搜索并替换字符串,javascript,css,Javascript,Css,我不确定这是否可行,但我正在帮助一个用.aspx编译的相当大的网站 我们想改变网站上的链接,但没有实际的地方编辑链接的文本。不过,我可以使用CSS或Javascript来编辑网站 <li> <a href="otherpages.aspx" target="">Other Pages</a> </li> <li> <a href="bluepage.aspx" target="">Blue Page</a>
<li>
<a href="otherpages.aspx" target="">Other Pages</a>
</li>
<li>
<a href="bluepage.aspx" target="">Blue Page</a>
</li>
我想把蓝色页面的链接和文本改成红色页面。
例如:
是否可以使用CSS搜索和替换该超链接的文本
我已经尝试过创建一个覆盖原始文本和链接的覆盖图,但是它不能正确地定位在页面上
该页面取决于用户使用的浏览器。
例如:
#掩护{
背景:url('../images/cover.png')不重复;
最高:80%;
左边距:0px;
高度:30px;
宽度:203px;
位置:相对位置;
}
有人对我如何用CSS或Javascript替换文本还有什么想法吗?用Javascript试试类似的方法
var bluePage = document.querySelectorAll("a[href='bluepage.aspx']");
if (bluePage[0]) {
bluePage[0].setAttribute("href", "redpage.aspx");
bluePage[0].innerHTML="Red Page";
}
CSS只会改变链接的外观。
href
URI在下面将保持不变,如果用户单击了链接,它们将被带到旧的链接位置。因此,您需要为此使用Javascript
根据,您可以使用Javascript进行搜索和替换,如下所示:
<script type="text/javascript">
function replaceScript() {
var toReplace = 'http://google.com';
var replaceWith ='http://yahoo.com';
document.body.innerHTML = document.body.innerHTML.replace(toReplace, replaceWith);
}
</script>
函数replaceScript(){
var toReplacehttp://google.com';
var replaceWith=http://yahoo.com';
document.body.innerHTML=document.body.innerHTML.replace(toReplace,replaceWith);
}
您可以在页面加载时初始化此函数,如下所示:
<body onload="replaceScript();">
这将替换整个页面中的字符串。然而,这里的主要缺点是它只替换页面加载时的链接。保存在服务器上的页面仍将具有旧链接,这意味着当用户加载任何页面时将有一个小的延迟(可能是几十到几百毫秒),因为脚本需要完成其工作,这需要一点时间。此外,如果用户在浏览器中禁用了JavaScript,或者非浏览器代理(如机器人、爬虫或web服务)访问了JavaScript,那么它也不起作用,这并不完美。您的用例似乎有点不可靠。如果您是一个合法允许编辑网站的团队,那么您应该可以访问源代码。它不是“编译成.aspx”,而是从中生成的。可能是Paul的复制品,这里不再有团队了。没有人管理这个网站,他们想让我看看。在我看来,这需要被抛弃,但我现在对此无能为力。是的,我对aspx一无所知。我是一个巨蟒人。英雄联盟
<script type="text/javascript">
function replaceScript() {
var toReplace = 'http://google.com';
var replaceWith ='http://yahoo.com';
document.body.innerHTML = document.body.innerHTML.replace(toReplace, replaceWith);
}
</script>
<body onload="replaceScript();">