大家好,我正在構建一個擴展,但我有一個函式在運行時很重,它阻礙了頁面的加載,我想知道是否有可能在腳本或manifest.json中,只在頁面完全加載和互動后才運行它?
我目前把它放在window.onload中,但仍然阻止了頁面的互動性。
該腳本:
async function getEAN() {
var EANIndex;
var body = document.body.innerText。
if ((EANIndex = body.indexOf('EAN'/span>)) !== -1) {
body = body.slice(EANIndex, EANIndex 100) 。
const regexExpression = RegExp(/([^EAN]*$)*d{3}d{4,6}d{3,5}d/gm) 。
return body.match(regexExpression)[0]
}
return false] }
}
window.onload = function() {
if (window.location.pathname & &
location.hostname.indexOf(".google.com"/span>) !== -1) {
console.log(getEAN() )。
}
這是否可能,如果是的話,我如何實作它?
uj5u.com熱心網友回復:
由于內容腳本本身是微不足道的,問題是由正則運算式內部的災難性回溯引起的,特別是([^EAN]*$)*可以在任何地方匹配0個字符。
解決方案是使用后視條件:
/(?<=EANs*)d{11,15}/gm
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/320451.html
標籤:
下一篇:PHP不能接收來自ajax的資料
