iframe 本地html ,其中html里的超链接不可点击


遇到的问题

iframe 本地html ,其中html里的超链接不可点击
最新ob 。win11.问题时间20250610

预期的效果

使用html render 插件 直接打开html文件 ,其超链接是可以点击
目前我测试了iframe 本地html ,内嵌到普通笔记中 ,内嵌到白板块中 均不可点击超链接

<iframe src="file:///U:/BaiduSyncdisk/CG_HOU_OB/常用网站.html" width="100%" height="100%"></iframe>

如何破?请大佬解答

  • obsidian出于安全性限制了对本地资源html的访问,具体报错为app.js:1 Not allowed to load local resource。也许某些版本可以,但不可靠
  • 只能通过插件绕过,也可以尝试使用dataviewjs渲染

在本问题中。dataviewjs 如何去使用 :rose:

~~~dataviewjs
const fs = require('fs');

// 读取文件内容
fs.readFile("C:/Example/example.html", 'utf8', (err, data) => {  if (err) {
    // 如果读取文件失败,输出错误信息
    dv.span('读取文件失败:', err);
    return;
  } else {
  dv.span(data)
  }
})
~~~
  • 把这段代码粘贴到笔记中,并把里面的C:/Example/example.html换成对应的html文件路径


上方是直接内嵌的渲染效果
下方是dataviewjs块的渲染效果.dataciew的效果不正确 。需要设置什么参数吗
dataviewjs 点击跳转是支持的


直接写html标签 也是可以跳转的,但只能使用行内样式 。每个元素都得复制一遍相同的style,这很不方便修改