V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yeshang
V2EX  ›  程序员

关于HTML代码里JS如何编写

  •  
  •   yeshang · 2011-11-09 15:55:13 +08:00 · 4234 次点击
    这是一个创建于 4541 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想实现: id为data里的所有img元素都加上一个绝对地址,请问用JS如何写?

    举例: <img src="/img/baidu_jgylogo3.gif">
    在浏览器里解析为: <img src="http://www.baidu.com/img/baidu_jgylogo3.gif">
    在div id="data"外的img元素不解析.

    代码如下:
    <html>
    <head>
    <title>xxx</title>
    <script type="text/javascript">
    <!--这里需要怎么写-->
    </script>
    </head>

    <body>
    <div id="data">
    <img src="/img/baidu_jgylogo3.gif">
    <img src="/img/baidu_sylogo1.gif">
    </div>
    <img src="/img/no-change.gif">
    </body>
    </html>
    15 条回复    1970-01-01 08:00:00 +08:00
    hdinfo
        1
    hdinfo  
       2011-11-09 15:58:28 +08:00
    为什么要用JS,在Editplus中,Ctrl+H 查找<img src=" 全部替换为 img src="绝对地址

    哈哈.
    yeshang
        2
    yeshang  
    OP
       2011-11-09 16:09:51 +08:00
    @hdinfo 因为这个地址经常会变,写死了不好. 批量替换的事,我经常干
    leojoy710
        3
    leojoy710  
       2011-11-09 16:20:59 +08:00
    git://gist.github.com/1350823.git

    大概是这样吧...
    leojoy710
        4
    leojoy710  
       2011-11-09 16:21:41 +08:00
    http://gist.github.com/1350823.git

    还是不会用gist啊...
    yangg
        5
    yangg  
       2011-11-09 16:21:59 +08:00
    使用动态语言,把这个域名写到配置里
    miao
        6
    miao  
       2011-11-09 19:52:22 +08:00
    @leojoy710 求解, 域名放于何处?
    leojoy710
        7
    leojoy710  
       2011-11-09 22:05:47 +08:00
    @miao qualifyURL方法会自动加上去的...根据当前的域...
    cmonday
        8
    cmonday  
       2011-11-09 22:16:43 +08:00 via iPad
    @leojoy710 好hack的方法。。
    frittle
        9
    frittle  
       2011-11-09 22:41:08 +08:00
    @leojoy710 LZ要的好像不是当前域名,而是其他域名的绝对地址吧?不然也没必要折腾,直接/img/baidu_jgylogo3.gif浏览器也会解读成http://domain.com/img/baidu_jgylogo3.gif了。
    yeshang
        10
    yeshang  
    OP
       2011-11-09 22:49:15 +08:00
    @frittle 是的,的确是要其他域名的绝对地址.而不是当前域名的.
    yeshang
        11
    yeshang  
    OP
       2011-11-09 22:54:49 +08:00
    @leojoy710 不好意思,我没把问题写明白.
    是这样, www.a.com下面的静态html是这样.
    <div id="data"><img src="/img/baidu_jgylogo3.gif"></div>
    通过一段js代码,实现该图片地址变为图床的绝对地址
    <div id="data"><img src="http://domain.com/img/baidu_jgylogo3.gif"></div>
    frittle
        12
    frittle  
       2011-11-09 23:13:21 +08:00
    yeshang
        13
    yeshang  
    OP
       2011-11-09 23:40:04 +08:00
    @frittle 正解. 这样以后就不用怕图床不稳定了.路径不变,只要变域名就行.
    忠心感谢谢@frittle @leojoy710
    yeshang
        14
    yeshang  
    OP
       2011-11-09 23:47:56 +08:00
    有个小缺点就是,在js执行之前图片是处于404状态.用户体验不是很好.
    leojoy710
        15
    leojoy710  
       2011-11-10 00:02:21 +08:00
    @yeshang @frittle ...需求没看清楚...惭愧惭愧...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4402 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 04:09 · PVG 12:09 · LAX 21:09 · JFK 00:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.