簡體   English   中英

如何在我的網站上實施 Mozilla readability.js?

[英]How can I implement Mozilla readability.js to my Website?

https://github.com/mozilla/readability (readability.js 用於為 web 頁創建閱讀視圖)

我怎樣才能對這個測試網頁實施 readability.js 問題是,readability.js 刪除了這個網站的元素,我想保留並留下那些應該刪除的元素。 我希望有一個人可以幫助我。 謝謝你。 有沒有關於如何使用 readability?js 的文檔?

<html><head>
<title>Reader View shows only the browser in reader view</title>
    <script src="https://raw.githack.com/mozilla/readability/master/Readability.js"></script>
</head>
<body>
Everything outside the main div tag vanishes in Reader View<br>
<img class="no-print" src="http://dummyimage.com/1024x100/000/ffffff&text=This+banner+should+vanish+in+print+view">
<div>
   <h1>H1 tags outside ot a p tag are hidden in reader view</h1>
   <img class="no-print" src="http://dummyimage.com/1024x100/000/ffffff&text=This+banner+is resized+in+print+view">
   <p>
 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
 123456789 123456
</p>
</div>
</body>
    <script>
    var article = new Readability(document).parse();
    </script>
</html>

測試頁來源: 優化網站以顯示Firefox中的讀者視圖

您可以像他們在文檔中提到的那樣一起使用 DOMPurify 和 Readability -

import { Readability } from '@mozilla/readability'
import DOMPurify from 'dompurify';

function readable(doc) {
  const reader = new Readability(doc)
  const article = reader.parse()
  return article
}

let cloneDoc = document.cloneNode(true)
let parsed = readable(cloneDoc)
const markup = DOMPurify.sanitize(parsed.content)

markup將是可讀內容的 html 字符串。 嘗試console.log(parsed)查看可用的屬性。

你試過這個嗎?

從他們的 github 頁面:

“Readability 的 parse() 通過修改 DOM 來工作。這會刪除 web 頁面中的一些元素。您可以通過在創建 Readability object 時傳遞文檔 object 的克隆來避免這種情況。”

var documentClone = document.cloneNode(true); 
var article = new Readability(documentClone).parse();

您可以復制 dom object 這樣您實際上就不會修改真實的 dom

好的....

    document.getElementById("body").innerHTML = "<font face='Calibri' size='4'> 
    <h1>"+article.title+"</h1>"+article.content;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM