2012-02-05 35 views
0

嗯,我正在做一個chrome擴展,解析一些網頁,這是正常的,但我想能夠阻止圖像,意思是,不加載它們,因爲所有的解析是在後臺進行,它會沒有圖像更快......有沒有辦法做到這一點?不要在jQuery ajax請求中加載圖像?

$("#data").load(url, function(responseText, textStatus, XMLHttpRequest){ 
    $('img').attr('src',''); 
    if(XMLHttpRequest.status==200) 
     parseLinks(); 
    else if(XMLHttpRequest.status==301) 
     Text="Please login."; 
    else 
     Text = "Error."; 
    console.log(textStatus); 
}); 

function parseLinks(){ 
    Text = []; 
    $("#data .plain").each(function(i){ 
    var tempArray;// = []; 
    var parent = "#"+$(this).parent().attr("id"); 
    tempArray['text'] = $(parent+' a').text(); 
    tempArray['link'] = $(parent+' a').attr('href'); 
    tempArray['ad']  = $(parent+' font[color="#808080"]').text(); 
    tempArray['value'] = $(parent+' td[width="100"] font').text(); 
    Text[i] = tempArray; 
     }); 
    if(Text.lenght) 
    console.log("ads loaded!"); 
    else 
    Text = "No new ads."; 
    console.log(Text); 
} 

此外,更多的時間你保持運行擴展更多的內存擴展將使用的VRAM,因爲它積聚在每個Ajax請求的圖片...

+0

Ajax請求只得到HTML的字符串。你的意思是你想從HTML中刪除圖像,然後將其放入頁面中?如果是這樣,我們需要代碼來看看你在做什麼來插入它。 – loganfsmyth 2012-02-05 15:45:14

+0

我想在ajax請求中不加載圖像,就像在瀏覽器中禁用圖像等一樣,我想這是不可能的... 我試過這個 $('img')。attr('src 」, ''); 在回調中,但我想它不起作用 – nyanko 2012-02-05 16:18:43

回答

0

解決它,我不得不改變從​​到$.get()請求的HTML插入頁面之前,能夠通過.replace()刪除圖片,下面的代碼:

$.get(url, function(responseText, textStatus, XMLHttpRequest){ 
    console.log(XMLHttpRequest.status); 
    if(XMLHttpRequest.status==200) { 
     var loggedin = responseText.search('<div class=header>Account Login</div>'); 
     if(loggedin == -1){ 
      responseText = responseText.replace(/<img/gi, '<noload'); 
      parseLinks(responseText); 
     } else { 
      Text="Please login."; 
      chrome.browserAction.setBadgeText({text:'L'}); 
      chrome.browserAction.setBadgeBackgroundColor({color:[180,180,180,255]}); 
     } 
    } else { 
     Text = "Error."; 
     chrome.browserAction.setBadgeText({text:'\u00D7'}); 
     chrome.browserAction.setBadgeBackgroundColor({color:[255,0,0,255]}); 
    } 
}); 
+0

嗯,你確定嗎?當我嘗試類似的代碼時,它仍然會加載DOM中的所有圖像,但在渲染前將其過濾。 – 2013-02-06 19:53:20