簡體   English   中英

Chrome擴展程序:從內容腳本中刪除正文屬性

[英]Chrome Extension: Remove body attributes from content script

這不是重復的...是延續

我在從Chrome擴展程序的body標簽中刪除屬性時遇到問題。 我已經讀了很多關於這個的書,但是我仍然有問題。

采取以下身體元素:

<body onbeforeunload="bye()" leftmargin="0" topmargin="0">

我想完全刪除onbeforeunload事件。 我可以將腳本注入頁面,但是仍然無法刪除事件; 盡管它確實運行。 因此,問題完全出在注入的腳本刪除事件上。

這是注入的腳本。

document.write('<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>');
console.log("onload called");
document.removeEventListener(onload);
document.removeEventListener(onmouseover);
document.removeEventListener(onbeforeunload);
var r = document.getElementById("body");
if (r !== null)
    console.log("Found Body");
$('body').onload.off();
$('body').onbeforeunload.off();
  1. document.write失敗。
  2. console.log有效。
  3. 其余代碼失敗。
  4. $未定義。

任何幫助刪除該屬性的方法將不勝感激。

您正在從內容腳本和網頁中混合JavaScript上下文:它們是不同的,但是共享相同的DOM。
這就是$之所以未定義的原因,因為它已插入到網頁中,但用於內容腳本中。
僅從body標簽刪除屬性呢?

document.body.removeAttribute('onbeforeunload');

暫無
暫無

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

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