我以base64字符串格式捕获用户签名,并允许他们在fancybox弹出窗口中查看他们刚刚输入的数据。我这样做的方法是使用link()并将href设置为该数据:
<a href="data:image/png;base64,iVBORw0KGgoAAAA...lFTkSuQmCC" class="fancy">click_me</a>
然后点击此链接将触发&#34; ERR_INVALID_URL&#34;,并且在喝了很多咖啡后我意识到这是由于目标href数据有这个似乎附加了GET param,其值等于纪元时间
...lFTkSuQmCC?_=1412399504179
我想知道如何摆脱那些自动附加数据。我已经尝试过将$ .ajaxSetup({cache:false})jsut放在document.ready之后,因为我认为它与某些缓存功能有关
答案 0 :(得分:0)
您提供的JSFIDDLE并未失败,因为它没有像您的问题那样包含附加参数?_=1412399504179
。
如果添加它,则会失败。见updated JSFIDDLE
如果你想摆脱你可以做的尾随参数
$(".fancy").fancybox({
beforeLoad: function () {
var _href = this.href.split("?");
this.href = _href[0];
}
});
请参阅分叉 JSFIDDLE
答案 1 :(得分:0)
我真的不确定是什么导致这种情况,但经过多次试验和错误后,如果我专门将fancybox类型设置为'image',我就会发现问题已经消失了
$(".fancy-img").fancybox({
type: 'image'
});
至于为什么我的jsfiddle似乎没有同样的问题,我只是无能为力。无论如何,感谢那些回答的人