javascript为所有链接动态添加相对路径
javascript add relative path to all links dynamically
我正在尝试构建一个html文件来准备和替换字符串。
例如,如果我的css文件的url是
<link href="/srsstore/store/-1/common/components/cbsassets/styles/iPhone.css" type="text/css" rel="stylesheet" />
和图像文件的url,
<img src="/s/store/-1/ProductizedWidgets/transparent.png" width="1px" height="1px"/>
此外,对于背景图像
<div style="background-color: #e45600;background-image: url(/s/store/4812610/no_preview.gif);background-repeat:repeat-x;font-weight:bold;font-family:Helvetica, Arial, sans-serif; font-size:12px;color:#FFFFFF></div>
我想在这些网址前加上"domain.com"。如何使用javascript动态搜索和替换字符串。
内容正在从以下网址获取:
http://euroleagueiphone.mo2do.net/s/31653/Home?ebbLinkIndex=0&backTitle=主页&iPhone模式=应用程序&debugRender=true&appVersion=2.2&engineVersion=1.3
你可以试试这个:
window.onload = function() {
var domain = 'YOUR_DOMAIN';
// For images
var imgs = document.getElementsByTagName("img");
for (var i = 0; i < imgs.length; i++) {
imgs[i].setAttribute("src",domain + imgs[i].getAttribute("src"));
}
// For CSS files
var links = document.getElementsByTagName("link");
for (var i = 0; i < imgs.length; i++) {
links[i].setAttribute("href",domain + links[i].getAttribute("href"));
}
};
编辑:
对于div,在上面添加以下代码:
// For CSS files
var styleProp = 'background-image';
var divs = document.getElementsByTagName("div");
for (var i = 0; i < divs.length; i++) {
if(divs[i].currentStyle) {
divs[i].style['styleProp'] = domain + divs[i].currentStyle[styleProp];
} else if (window.getComputedStyle) {
divs[i].style['styleProp'] = domain + document.defaultView.getComputedStyle(divs[i],null)
.getPropertyValue(styleProp);
}
}
您可以从get Styles获得帮助。
$("img").each(function(){
$e = $(this);
$e.attr("src","http://example.com" + $e.attr("src"));
})
$("link").each(function(){
$e = $(this);
$e.attr("href","http://example.com" + $e.attr("href"));
})
使用jquery
您需要在代码中找到所有的a和img,循环遍历它们,获取当前的属性值(无论是src还是href(,为其预先设置域,然后设置属性值。我还没有测试过,但这是一个总体想法:
var links = document.getElementsByTagName("a");
var images = document.getElementsByTagName("img");
for (i=0; i < links.length; i++) {
links[i].setAttribute("href","domain.com" + links[i].getAttribute("href"));
}
for (i=0; i < images.length; i++) {
images[i].setAttribute("src","domain.com" + images[i].getAttribute("src"));
}
相关文章:
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在映射数组中添加换行符
- 正在将数据主题添加到所有项目
- ZeroClipboard-在复制之前添加到值
- 我可以在json对象中添加一个函数吗
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 我可以获得相对于被点击元素的确切点击位置吗
- 如何添加浮动和非浮动,其他
- 添加文字和评论功能更新Div
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 添加相对于对象的速度
- Jquery内容滑块:将错误类添加到与空部分相对应的导航菜单中
- 如何将控件添加到相对于幻灯片位置向左/向右滚动的自动Jquery幻灯片中
- Node.js添加相对路径字符串到数组复制斜杠
- 添加可拖放元素后,使其相对于可拖放元素的坐标
- javascript为所有链接动态添加相对路径
- 当添加一个新的html元素(如iframe等)时,绝对url将被覆盖为相对url(即在url提供的前缀处添加base地址
- 添加类选择的相对URL