Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用超链接搜索并替换字符串_Javascript_Css - Fatal编程技术网

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>

我不确定这是否可行,但我正在帮助一个用.aspx编译的相当大的网站 我们想改变网站上的链接,但没有实际的地方编辑链接的文本。不过,我可以使用CSS或Javascript来编辑网站

<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();">