相对图像损坏,需要javascript修复
Relative images broken, need javascript fix
此处为new。我无法访问我网站上的大多数源文件,所以我试图用javascript修复页面加载时的一些损坏图像。
当我对这些破碎的图像之一使用检查元素时,它显示如下:
<img src="-82.jpg" width="60px">
什么时候应该是
<img src="http://example.com/files/images/-82.jpg" width="60px">
这是一组不同的图像,-82.jpg、-2482.jpg、-3582.jpg
以下是我迄今为止所做的尝试。这似乎有效,但由于某种原因,它破坏了页面上的其他javascript。
html
<script type="text/javascript" src="http://example.com/files/js/fiximages.js"></script>
<body onload="fixImages();">
我的fiximages.js文件
function fixImages() {
var toReplace = '<img src="-';
var replaceWith ='<img src="http://www.example.com/files/images/-';
document.body.innerHTML = document.body.innerHTML.replace(toReplace, replaceWith);
}
我有点笨,所以我还需要知道如何将html链接到javascript,以便在页面加载时加载它。谢谢大家。
这应该可以解决您的问题:
function fixImages() {
// Create a list of all img which src starts with "-".
var imgs = document.querySelectorAll('img[src^="-"]');
// Loop through this list.
for (var i = 0; i < imgs.length; i++) {
// For each img, replace its src with the correct path + the
// src that's already there.
imgs[i].setAttribute('src', 'http://www.example.com/files/images/' + imgs[i].getAttribute('src'));
}
}
演示
欢迎来到SO!
这种方法的问题在于,对于动态页面来说,更改正文的纯HTML从来都不是一个好主意。此外,当在没有正则表达式的情况下使用javascript的replace
时,它将只替换字符串的第一个位置。
现在,当您需要更改元素的属性时,Javascript有一个称为DOM的操作。网上有很多材料和教程。。。你应该调查一下!
- http://www.w3.org/TR/DOM-Level-2-Core/introduction.html
- http://www.w3schools.com/jsref/dom_obj_document.asp
使用DOM,您可以选择一个元素作为变量,并操作其属性和属性,因此,在您的情况下,它将是:
function fixImages() {
var imgs = document.getElementsByTagName("img");
for(var i=0; i<imgs.length; i++) {
if(imgs[i].src.indexOf("-") == 0)
imgs[i].src = "http://www.example.com/files/images/" + imgs[i].src;
}
}
相关文章:
- 我可以'我似乎不知道如何修复javascript中的两个lint.有人能帮我理解吗
- Javascript-修复搜索系统
- 如何修复:当javascript更改DOM时,iOS会删除CSS文件
- 在JavaScript中,如何修复元素显示和变量创建之间的初始差异
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- 如何修复javascript keydown中的延迟
- 如何修复FF和IE中的Javascript无效日期错误
- Javascript修复了滚动定位
- 尝试使用 Javascript 修复元素
- Javascript 修复了导航问题
- Javascript修复了IE6中的错误
- 相对图像损坏,需要javascript修复
- 如何用第三方javascript修复YSlow的F级
- Javascript修复表头
- javascript修复了Ipad的定位问题
- Javascript-修复格式错误的JSON
- JavaScript-修复计算器的da*n插入符号
- Javascript修复了导航栏跳跃
- JavaScript按键事件延迟.我可以用JavaScript修复它吗
- JavaScript修复错误的html标签