0

在关联数据上下文中,我将我的 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 标头,但它包含各种文本/hmtl;应用程序/xhtml 等。

4

0 回答 0