在Linked Data上下文中,我将openseadragon客户端指向将使用303重定向进行响应的资源。如果OSD的请求有一个标题“Accept:image / *”(几乎所有的'*'),重定向将指向一个jpeg,一切都很好。这是它在谷歌浏览器中的工作方式。
但是,在Firefox中,请求似乎有一个标题“Accept:* / *”。至少我就是这样解释firefox开发者工具网络面板的输出。这导致最后的资源重定向到html页面,当然,OSD无法呈现为图像。
这怎么可能发生?
我在网页中嵌入OSD的方式如下:
var Imageviewer = OpenSeadragon({
debugMode: false,
id: "contentDiv",
prefixUrl: "resources/img/SeaDragonImages/",
showNavigator: true,
autoHideControls: false,
autoResize: true,
springStiffness: 10,
preserveViewport: true,
// ajaxHeaders: {'Accept: image/jpeg'},
tileSources: null // sources are (re-)loaded when pageNumbers are clicked
});
$(function(){
$(".pageNo").click(function(event){
event.preventDefault();
Imageviewer.open({
type: 'legacy-image-pyramid',
levels: [{ url: $(this).attr('href'), <span data-template="app:scaleImg"/> }]
});
});
});
请注意,如果我启用当前已注释掉的ajaxHeaders: {'Accept: image/jpeg'},
,我会获得一个Accept标头,但它包含各种text / hmtl; application / xhtml等。