【发布时间】:2014-01-14 16:38:27
【问题描述】:
所以我有这个简单的代码:
var openPopUp = function(_type, _src) {
$(_type).bind('click', function(e) {
e.preventDefault();
$('#img_pop_up').bPopup({
onOpen: function() {
console.log(document.getElementById("jpg_pop_up")['src']);
$("#jpg_pop_up").attr("src",_src);
/*$("#jpg_pop_up").attr("src","http://freefever.com/stock/2013-abstract-hd-wallpaper.jpg");*/
}
});
});
}
评论中提到的行工作正常,但是当我将变量作为 _src 传递时,它会在 src 前面加上 window.location url,然后尝试获取图像。就像http://myserver.com/http://image_url/ 知道为什么吗?我正在传递绝对网址。当我执行 console.log(_src) 时,它可以很好地打印完整的 url,但是当我打印时
console.log(document.getElementById("jpg_pop_up")['src']);
这会打印我的窗口位置 url!它应该为空。
当我对 url 的路径进行硬编码时,它可以正常工作,但是当我使用变量传递路径时,它会将其假定为相对路径。
【问题讨论】:
-
你可以做一个 src 的子字符串
-
您确定不在您的 hmtl 中设置
<base href="">吗? -> 例如jsfiddle.net/vCJef -
@Frogmouth 不,没有基本的 href 设置。可以是因为它使用了一个 bpopup jquery,它为提到的 div 弹出一个不同的模型和一些范围变化吗?
-
这一切与 angularjs 有什么关系?
-
@Stewie 因为我的函数触发器来自 Angular js 部分,所以我想这是否与某处有关。
标签: javascript jquery