Titanium WebView의 동작을 잘 모르는 경우
4260 단어 Titanium
html
와 url
프로퍼티, 동시에 지정했을 때 어느 것이 우선되는가?라는 것.
Titanium의 WebView의 속성에는
html
라는 속성과 url
라는 속성이 있습니다.속성
효용
html
HTML 소스를 제공하면 렌더링하고 표시합니다.url
HTML 파일의 경로를 주면로드하고 표시합니다.그리고
Titanium.UI
다음의 클래스는 createHogeHoge()
그 때, 인수에 건네준 오브젝트로 인스턴스의 프롭퍼티를 초기화할 수 있게 되어 있습니다.var webView = Ti.UI.createWebView({
url: "http://www.google.com"
});
html 과 url , 우선되는 것은 어느 쪽?
자, 인스턴스화시에 html
와 url
를 동시에 지정하면 어떻게 되는 것인가?
아래 코드로 실험.
app.jsvar webView = Ti.UI.createWebView({
html: '<html><head><title>hoge</title></head><body>mogemoge</body></html>',
url: "http://www.google.com"
});
결과
html
가 우선되는 것 같습니다.
둘 다 지정했을 때, url 는 setHtml() 의 baseURL 의 대체가 되거나 하는 것인가?
WebView#setHtml 라는 메소드가 있습니다.
이 녀석은 두 번째 인수에 baseURL
라는 옵션을 전달하면 상대 경로를 해결하는 데 사용되는 URL을 지정할 수 있습니다.
webView.setHtml(
'<html><head><title>hoge</title></head><body><a href="/keyword/hoge">mogemoge</a></body></html>', {
baseURL: "http://d.hatena.ne.jp/"
});
html
와 url
의 양쪽 모두를 지정했을 때, url
는 baseURL
의 대체가 될까요?
아래 코드로 실험.
app.jsvar webView = Ti.UI.createWebView({
html: '<html><head><title>hoge</title></head><body><a href="/keyword/hoge">mogemoge</a></body></html>',
url: "http://d.hatena.ne.jp/"
});
링크를 탭한 결과
[DEBUG] Loading: /keyword/hoge, Resource: keyword/hoge
[ERROR] Error loading /keyword/hoge
[ERROR] Error loading: file:///keyword/hoge, Error: Error Domain=NSURLErrorDomain Code=-1008 "resource unavailable" UserInfo=0xd48d940 {NSErrorFailingURLKey=file:///keyword/hoge, NSErrorFailingURLStringKey=file:///keyword/hoge, NSLocalizedDescription=resource unavailable}
대신은 되지 않았다.
결론
var webView = Ti.UI.createWebView({
html: '<html><head><title>hoge</title></head><body>mogemoge</body></html>',
url: "http://www.google.com"
});
WebView#setHtml 라는 메소드가 있습니다.
이 녀석은 두 번째 인수에
baseURL
라는 옵션을 전달하면 상대 경로를 해결하는 데 사용되는 URL을 지정할 수 있습니다.webView.setHtml(
'<html><head><title>hoge</title></head><body><a href="/keyword/hoge">mogemoge</a></body></html>', {
baseURL: "http://d.hatena.ne.jp/"
});
html
와 url
의 양쪽 모두를 지정했을 때, url
는 baseURL
의 대체가 될까요?아래 코드로 실험.
app.js
var webView = Ti.UI.createWebView({
html: '<html><head><title>hoge</title></head><body><a href="/keyword/hoge">mogemoge</a></body></html>',
url: "http://d.hatena.ne.jp/"
});
링크를 탭한 결과
[DEBUG] Loading: /keyword/hoge, Resource: keyword/hoge
[ERROR] Error loading /keyword/hoge
[ERROR] Error loading: file:///keyword/hoge, Error: Error Domain=NSURLErrorDomain Code=-1008 "resource unavailable" UserInfo=0xd48d940 {NSErrorFailingURLKey=file:///keyword/hoge, NSErrorFailingURLStringKey=file:///keyword/hoge, NSLocalizedDescription=resource unavailable}
대신은 되지 않았다.
결론
url
보다 html
쪽이 우선된다 url
는 baseURL
대신 되지 않습니다 Reference
이 문제에 관하여(Titanium WebView의 동작을 잘 모르는 경우), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kikuchy/items/c9c65b74be534983ca95텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)