Autodesk PDF Extension - 防止查询字符串中的页面覆盖

Autodesk PDF Extension - Preventing page in query string override

我目前正在寻求在 ForgeViewer PDF Extenstion 中实现分页,在文档中有一条注释,查询字符串中的 'page' 将覆盖传递给加载模型的任何值。我想知道这是可配置的还是我们能够阻止它。

// URL parameter page will override value passed to loadModel 

viewer.loadModel(‘path/to/file.pdf’, { page: 1 });

这给我们带来了一些问题,因为我们将 'page' 用于其他目的,我们将不得不进行大量返工以重命名我们用于分页表的当前页面查询字符串。

没错。如果您查看 PDF 扩展 的代码 (https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/extensions/PDF/PDF.js),那么您会不幸地发现这种行为是硬编码的

我可以想到两个解决方法:
a) 使用 URL 参数而不是 page - 例如sheet?

b) 覆盖当前的URL这样页码就变成你需要的

// Original URL is: http://127.0.0.1:5500/index.html?page=2
// we change it to page=1
// This should change the URL content without a reload
history.pushState('', '', 'index.html?page=1');
viewer.loadModel("AutoCAD_Sample_Part1.pdf", {}, (model) => {

你也可以这样实现:

viewer.loadExtension('Autodesk.PDF').then(function(ext) {
  // Original URL is: http://127.0.0.1:5500/index.html?page=2
  // we change it to page=1
  viewer.loadModel("AutoCAD_Sample_Part1.pdf", {}, (model) => {
    ext.hyperlinkTracker.changePage(1)