0

我正在测试一些东西,但我并不完全确定它是可能的。我有一个外部pdf的基本href。我想给它附加一个动态元素,现在说一个 div 和 h1 标签。

<a href="https://osm.hpi.de/teaching/profSem/statistics101.pdf" onclick="createElements()">View</a>

<script>
function createElements(){
   var div = $(document.createElement('div'));
            div.innerHTML = '<h1 id="myTitle" class="back-button" alt="custom-title">';
            $('#myTitle').css({
                'position': 'absolute',
                'z-index': '99',
                'top': '16px',
                'left': '12px',
                'width': '11%',
            });
}
</script>

基本上,当打开外部 href 时,我想在该文档上添加一个 h1 标记。但是,不确定这是否可能,现在试水。上面的代码似乎不起作用,但希望得到反馈,看看这是否可以用普通的 javascript/jquery 来完成。

4

3 回答 3

0

也许你根本不需要 jQuery。我会做这样的事情(注意我事先将 div 留空):

<a href="https://osm.hpi.de/teaching/profSem/statistics101.pdf" onclick="createElements()">View</a>
<div id="myDiv"></div>

function createElements(){
   var text = document.createElement("h1");
   text.innerHTML ="MY heading";
   document.getElementById("myDiv").appendChild(text);
}
于 2020-11-06T15:26:18.197 回答
0

您的 href 将始终将用户发送到浏览器的 PDF 查看器,您将失去对其的控制。

如果您想让一个元素在 PDF 文件上方或上方可见,您可以使用一个“模板页面”,其中包含您的 HTML 元素和一个带有指向 PDF 文件的 src 的全屏 iFrame。

这将在模板页面内的 iFrame 中呈现浏览器的 PDF 查看器。

前任。

<div>
  <div>
    <!-- Your element here (you can make this absolute to make it lay over the pdf file etc.. -->
  </div>
  <iframe src=".../.pdf" style="width:100vw;height:100vh">
</div>
于 2020-11-06T15:20:58.357 回答
0

您不能影响尚未打开的文档。为此,您的 javascript 代码需要在 PDF 中,但由于浏览器对 PDF 内容的处理方式不同(应该如此),它永远不会被执行。简而言之,我认为这是不可能的。

于 2020-11-06T15:18:29.020 回答