jquery-mobile + phonegap 앱을 만들려고합니다. 일부 사이트의 단순화 된 버전입니다. 조기 접근은 치명적인 간단했다. 해당 사이트에 대한 일부 모델 및 모음을 작성하고 parse()를 재정 의하여이를 채 웁니다. 여기에 몇 가지 코드가 있습니다.jQuery (html)을 중지하는 방법 내부 이미지와 리소스를 다운로드
var Posts = Backbone.Collection.extend({
model: Post,
parse: function(response){
var posts = [];
var $response = $(response);
var $tr = $response.find('div.board_main tr');
$tr.each(function(index){
if(index<2){ return; } // skip notice post
var $post = $(this);
var post_id = $post.find('td').eq(0).text();
var $post_subject = $post.find('td.post_subject');
var post_subject;
if($post_subject.find('a').length){
post_subject = $post_subject.find('a').text();
}else{
return;
}
posts.push({
id: post_id,
subject: post_subject
});
});
return posts;
}
});
예 jQuery를 사용하여 HTML을 구문 분석하여 응답 HTML을 $로 감싸는 모델을 만들었지 만 그 당시에는 브라우저가 img와 같은 자산을 다운로드합니다. html의 스크립트도 본문의 어딘가에 추가하지 않았습니다. .
어떻게이 동작을 취소 할 수 있습니까? 아니면 html을 구문 분석하기위한 다른 접근 방식을 선택해야합니까?
==
편집 : 나는 jQuery를 함께 포장 전에 avascript 정규 표현식으로 전처리 선택했다. (iframe이/스크립트 태그를 제거하고 img.src 앞서 갈 확인했다 대체) 나는이 더러운 알고 있지만 지금은 사파리 행복 지금 .. 자산을 다운로드하지 않습니다 .. :)
function removeTag(html, tag){
var re = new RegExp('<'+tag + '(.+?)' + '</'+tag+'>', 'g');
return html.replace(re,'');
}
function removeImgSrc(html){
return html.replace(/<img([^>]*)\ssrc=/gi,'<img$1 data-src=');
}
난 원시 자바 스크립트 정규식으로 구문 분석 할 필요가 ... 감사합니다. :( –