时间戳附加在href中导致链接失败

时间:2014-10-04 05:16:15

标签: jquery fancybox

我以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之后,因为我认为它与某些缓存功能有关

2 个答案:

答案 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似乎没有同样的问题,我只是无能为力。无论如何,感谢那些回答的人