Image src不能在Firefox中使用.replace()
Image src not working in Firefox with .replace()
我有一个lightbox,它正在获取另一个div的背景图像,然后剥离url(),然后将链接放入一个,这在除Firefox之外的所有浏览器中都有效,并且无法找出为什么会发生这种情况,在Firefox中对我来说,它是在src中添加"围绕",这是打破链接。
_getImagePath: function($el) {
var imagePath,
spanEl = $el.find('span.js-cell-image-background'),
imgEl = $el.find('img.cell-image__image');
if(spanEl.length) {
imagePath = spanEl.css('backgroundImage');
imagePath = imagePath.replace('url(', '').replace(')', '');
} else if(imgEl.length) {
imagePath = imgEl.attr('src');
}
return imagePath;
},
把"和括号一样去掉:
imagePath = imagePath.replace('url(', '')
.replace(')', '')
.replace(/^"/, '')
.replace(/"$/, '')
imagePath = imagePath.replace(/^url'('"?/, '').replace(/'"?')$/, '')
正如你所发现的,backgroundImage属性是依赖于浏览器的。举个例子,我有一个网站,在3个浏览器中打开,打开控制台,输入:
$(".icon-home").css("backgroundImage")
Chrome: "url(http://..url../images/home.png)"
Firefox: "url("http://..url../images/home.png")"
的问世:
"url("http://..url../images/home.png")"
谢谢你的回复freedom -m我在你发帖前几分钟设法解决了这个问题,只是改变了这一行:
imagePath = imagePath.replace('url(', '').replace(')', '');
:
imagePath = imagePath.replace(/url'(["]*/,'').replace(/["]*')/,'');
谢谢,卢克。
相关文章:
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- Javascript:使用绝对路径设置img src
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- Javascript将图像src更改为淡入淡出
- 如何使用Angular动态添加iframe-src
- //而不是在src=“”上使用http://"属性
- 使用:new Image()控制加载html.src=html_URL
- 无法使用nodeJS在html中设置Image src
- 如何动态更改脚本src
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 在字符串中查找所有图像 src URL 并存储在数组中
- Mozilla没有;t在附加视频src后触发视频后台事件
- 使用AngularJs时,如何在img标记具有src-attr时设置数据src
- 插入“;img src"在javascript中
- jQuery.attr('src')replace在FF中不工作
- 使用replace修改src属性
- Android WebView iframe - Replace src
- this.src.replace img src用于多个图像
- Image src不能在Firefox中使用.replace()