将jquery中的代码重写为javascript

将jquery中的代码重写为javascript,javascript,jquery,onbeforeunload,Javascript,Jquery,Onbeforeunload,在我的小部件中,我有以下代码: $(document).ready(function() { $('a[rel!=ext]').click(function() { window.onbeforeunload = null; }); $('form').submit(function() { window.onbeforeunload = null; }); }); 我已经在许多网页中输入了这段代码。我的问题是并不是所有的网页都运行jQuery,所以我需要一个JavaScrip

在我的小部件中,我有以下代码:

$(document).ready(function() {
    $('a[rel!=ext]').click(function() { window.onbeforeunload = null; });
    $('form').submit(function() { window.onbeforeunload = null; });
});
我已经在许多网页中输入了这段代码。我的问题是并不是所有的网页都运行jQuery,所以我需要一个JavaScript解决方案

这在JavaScript代码中是什么样子的

更新:

function showWidget(www){

  var content = '<iframe src="'+www+'" style="border:0px #FFFFFF none; position: fixed;left: 0px;width: 300px; height:100%; top: 30%;z-index: 9999999;" name="myiFrame" scrolling="yes" frameborder="0" marginheight="0px" marginwidth="0px" height="100%" width="100%"></iframe><a style="display:none;" href="http://bedbids.com" rel="ext">BedBids</a>';

var newNode = document.createElement("DIV");  
newNode.innerHTML = content;
document.body.appendChild(newNode); 


window.onbeforeunload = function() {
        return "You're leaving the site.";
    };
   window.onload = function() {
   [].slice.call(document.querySelectorAll('a[rel!="ext"]')).forEach(function(a) {
       a.onclick = function() {
           window.onbeforeunload = null;
       };
   });
   [].slice.call(document.getElementsByTagName('form')).forEach(function(form) {
       form.onsubmit = function() {
           window.onbeforeunload = null;
       };
   });
};

}
function showWidget(www){
var内容=“”;
var newNode=document.createElement(“DIV”);
newNode.innerHTML=内容;
document.body.appendChild(newNode);
window.onbeforeunload=函数(){
return“您将离开网站。”;
};
window.onload=函数(){
[].slice.call(document.querySelectorAll('a[rel!=“ext”])).forEach(函数(a){
a、 onclick=function(){
window.onbeforeunload=null;
};
});
[].slice.call(document.getElementsByTagName('form')).forEach(函数(form){
form.onsubmit=函数(){
window.onbeforeunload=null;
};
});
};
}

类似的方法应该可以:

window.onload = function() {
   [].slice.call(document.querySelectorAll('a[rel!=ext]')).forEach(function(a) {
       a.onclick = function() {
           window.onbeforeunload = null;
       };
   });
   [].slice.call(document.getElementsByTagName('form')).forEach(function(form) {
       form.onsubmit = function() {
           window.onbeforeunload = null;
       };
   });
};

像这样的方法应该会奏效:

window.onload = function() {
   [].slice.call(document.querySelectorAll('a[rel!=ext]')).forEach(function(a) {
       a.onclick = function() {
           window.onbeforeunload = null;
       };
   });
   [].slice.call(document.getElementsByTagName('form')).forEach(function(form) {
       form.onsubmit = function() {
           window.onbeforeunload = null;
       };
   });
};

我得到:未捕获的语法错误:未能对“文档”执行“querySelector”:“a[rel!=ext]”不是有效的选择器。不要像jquery那样工作,当再次单击某些内部或外部链接时,此代码将显示消息我更新我的问题,以便您可以确切地看到问题所在。。。问题是,当我想提交一些表格,或者再次点击一些内部-外部链接时,我会看到你们要离开网站的消息。我只需要在用户离开时显示此消息我得到:未捕获的语法错误:未能在“文档”上执行“querySelector”:“a[rel!=ext]”不是有效的选择器。不要像jquery那样工作,再次单击某些内部或外部链接时此代码显示消息我更新我的问题,以便您可以确切地看到问题所在。。。问题是,当我想提交一些表格,或者再次点击一些内部-外部链接时,我会看到你们要离开网站的消息。我只需要在用户离开时显示此消息尝试删除window.onload(如果在DOM就绪时执行函数)。我删除了它,但它不是解决方案尝试删除window.onload(如果在DOM就绪时执行函数)。我删除了它,但它不是解决方案