2016-07-12 5 views
2

나는 phonegap 프로젝트가 있고 나는 /assets/www/index.html이있다. index.html 파일에는 iframe이 있습니다. 앱을 미리보고 iframe이 작동하지만 apk로 앱을 내보낼 때 iframe이 비어 있습니다. 아무도 나를 도울 수 없거나 왜 이런 일이 일어 났는지 말해 줄 수 있습니까? 감사합니다.phonegap android 앱에서 작동중인 iframe을 추가하려면 어떻게해야하나요?

+0

을했다? 너 정말 필요해? 아마 그것은 다른 방법으로 행해질 수 있습니다. 'iframe'은 모바일 앱과 다른 플랫폼에서 매우 까다로울 수 있습니다. –

+0

좋아요, 앱에서 블로그, 웹 사이트 및 짹짹이 포함 된 탭이 있기 때문에 iframe을 사용하고 싶습니다. 각각 하나씩, 블로그, 웹 사이트 및 트윗에 iframe을 추가합니다! –

+0

jQuery'('selector'). load ('url')'메소드를 사용하여 'div'에 직접 페이지를 삽입 할 수 있습니다. –

답변

1

iframe은 모바일 앱과 플랫폼에 따라 매우 까다 롭습니다. 어쩌면 다른 방법으로 할 수 있을까요? jQuery ('selector').load('url') 메소드를 사용하여 해당 페이지를 div에 직접 삽입 할 수 있습니다.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="MyLittleBrowser" style="width: 200px; height: 200px; border: 1px solid #000; overflow: scroll;"></div> 
 
<script> 
 
    $("#MyLittleBrowser").load("https://crossorigin.me/https://www.twitter.com/"); 
 
</script>

당신이 로딩 될 것입니다 모든 웹 사이트 허용 목록을 확인하십시오 여기에 div에 트위터 페이지를로드하는 예입니다. 새로운 phonegap 버전이 5 이상인 경우, 그 목적을 위해 새로운 구문을 가진 화이트리스트 플러그인이 필요합니다. 이전 구문을 사용하려는 경우 레거시 플러그인을 사용할 수 있습니다. 예를 들어, 위의 내 코드를 실행하려면, 당신은 당신의 config.xml이를 추가해야합니다

<plugin name="cordova-plugin-legacy-whitelist" spec="1.1.1" /> 
<access origin="https://crossorigin.me" /> 

참고 : 내 예에서 https://crossorigin.me 서비스를 사용은 다른 도메인과이기 때문에 다른 트위터 나에게 CORS 오류를 줄 것이기 때문에 그래서 CORS는 허용되지 않습니다. 프로젝트에서 로딩 페이지에서 CORS 액세스가 허용되는 한이 서비스를 사용할 필요가 없습니다. 당신이 코르도바 인 iFrame을 사용하려면

header("Access-Control-Allow-Origin: *"); //PHP 
Response.AddHeader("Access-Control-Allow-Origin", "*"); //C# 
+1

그것은 작동하지 않습니다 ... 그것은 빈 사각형을 보여줍니다 –

+0

그것은 phonegap에서 작동하지 않지만 여기 stackoverflow에, 그것은 완벽하게 작동합니다! –

+0

당신의 phonegap 애플 리케이션과 함께 작동한다면, 나에게 프로젝트를 보낼 수 있습니까? –

1

것은 당신의 config.xml에 에 <allow-navigation href="urls which you navigate to" />을 추가하여 반드시 화이트리스트에게 도메인을 만들 : 페이지의 소유자 인 경우 페이지에이 헤더를 추가하여 CORS 수 있도록 기억 및

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; frame-src 'self' https://iframe url"> 

iframe을 사용중인 파일.

아니면 Racil 같은 어떤의 div의 jQuery 온로드를 사용할 수는의`iframe`을 사용하고있는

<div id="divid"></div> 
<script> 
$("#divid").load("url to load"); 
</script> 

소스 jquery

+0

내가 config.xml을 가지고 있지 않기 때문에 나는 할 수 없다 ... –

+0

그게 가능하지 않습니다. 그 디렉토리를 www 디렉토리에 들여다 보지 않으면 프로젝트의 홈 디렉토리에 만들어 질 것입니다. –

+0

나는 어디에서나 수색했다 ... 나는 당신에게 프로젝트의 우편 번호를 보낼 수있다 –

관련 문제