3

如何通过配置或方法调用在特定页面上加载 Mirador3?

在不知道 iiif manifest 中的 canvas@id 的情况下在第 3 页加载查看器会很棒。清单已定义序列 - 跳转到页面应该很容易。(或不?)

我在源代码中找到了 setCanvas。还找到了这个插件(但那是为 Mirador 2 - 我认为)。

唯一可以在 atm 工作的是清单属性startCanvas

4

1 回答 1

2

Mirador 3 提供了一些 API 供您使用来完成此操作。您可以使用给定的值初始化窗口,也可以canvasIndex将画布设置为已知的canvasId.

  1. 您可以使用属性初始化窗口canvasIndex以从特定索引开始。
var miradorInstance = Mirador.viewer({
  id: 'mirador',
  windows: [{
    id: 'known-window-id',
    canvasIndex: 3
    loadedManifest: 'https://iiif.harvardartmuseums.org/manifests/object/299843',
  }],
});
  1. 如果您知道 canvasId,则可以以编程方式设置画布
var miradorInstance = Mirador.viewer({
  id: 'mirador',
  windows: [{
    id: 'known-window-id',
    loadedManifest: 'https://iiif.harvardartmuseums.org/manifests/object/299843',
  }],
});
// We create the action first. Note we are using a specified `windowId` here. This could be accessed from the store instead of specifying upfront.
var action = Mirador.actions.setCanvas('known-window-id', 'https://iiif.harvardartmuseums.org/manifests/object/299843/canvas/canvas-43182083')
// Now we can dispatch it.
miradorInstance.store.dispatch(action);

https://github.com/ProjectMirador/mirador/wiki/M3---Mirador-3-Frequently-Asked-Questions#q-how-do-i-programmatically-set-the-canvas

canvasId如果您事先不知道,选项 1 可能是您最好的选择。

于 2020-10-28T14:06:39.697 回答