나는 Sencha Touch 2 및 Cordova 2.3.0을 사용하여 모바일 앱을 개발 중입니다. 동적으로로드 된 HTML의 모든 외부 링크를 새 InAppBrowser로 열 수 있기를 원합니다.PhoneGap/Cordova 2.3 : InAppBrowser에서 모든 외부 링크를 여는 방법은 무엇입니까?
target = "_ blank"를 포함하는 모든 외부 링크를 수정하지 않고도이를 수행 할 수 있습니까?
InAppBrowser의 window.open API를 사용하여 외부 링크의 클릭을 가로 채고 싶습니다. iOS와 Android를 대상으로하기 때문에 자바 스크립트 솔루션이 별도의 코드 (Java 및 Objective-C)를 피하는 것이 좋습니다.
감사합니다.
업데이트 : 난 그냥 이걸 발견 : https://gist.github.com/4694032
이 가진 유일한 문제는 내가 내 응용 프로그램에서 jQuery를 사용하지 않는 것입니다. 이 문제를 위해 그것을 포함시키는 것이 가치가 있습니까?
Ext.Viewport.element.dom.addEventListener('click', function (e) {
if (e.target.tagName !== 'A') {
return;
};
var url = e.target.getAttribute('href');
var containsHttp = new RegExp('http\\b');
//if href value begins with 'http'
if(containsHttp.test(url)) {
e.preventDefault();
window.open(url, "_system"); // For iOS
navigator.app.loadUrl(url, {openExternal: true}); //For Android
}
else {
return;
}
}, false);
이 그럼 당신은 같은 시간에 안드로이드 및 iOS 용 구축 할 수 있습니다 : 정규 표현식을 사용하여, "HTTP"로 시작
아니, 그만한 가치가 없습니다. 스크립트를 쉽게 변환 할 수 있어야합니다. Btw 만약 당신이 대답 pls 외부 사이트에서 코드를 인용 답변을 찾았습니다. –
감사합니다. 나는 Google을 통해 게시 한 링크를 찾았으므로 그 링크를 찾지 못했습니다. – borck