P粉3691966032023-09-01 14:46:55
如果您對 iframe
不感興趣,則可以使用 embed
或 object
標記來防止此類工具列出現。
對於 iframe,如果您想要停用下載功能,您可能最終會得到特定於瀏覽器的內容,因為不同的瀏覽器會將 iframe 轉換為不同的元素以實際呈現 PDF。如果您確切知道正在處理的瀏覽器,您可以嘗試從下載按鈕解除監聽器的綁定,這是我在 Chrome 中測試過的解決方案,該解決方案似乎有效:
var old_element = document.getElementById("viewer").shadowRoot.getElementById("toolbar").shadowRoot.getElementById("downloads").shadowRoot.getElementById("download"); var new_element = old_element.cloneNode(true); old_element.parentNode.replaceChild(new_element, old_element);
感謝 Ben D 對這個有關偵聽器刪除的問題的回答,如果你想沿著日誌記錄路線走下去,你可以用 addEventListener 取代cloneNode和replaceChild步驟。我認為這仍然會導致足夠精明/堅定的用戶能夠下載PDF 的問題(請參閱這篇文章的附加資訊:https://www.w3docs.com/snippets/html/how-to-embed-pdf -in-html.html< /a>),因此根據您的最終目標,我建議為訪客使用者呈現PDF 的靜態影像預覽,而完整檢視器可能僅限於登入使用者。