2012-02-03 2 views
0

vb.net과 jquery를 사용하고 있습니다. 여기에 문제가있다. jQuery를 사용하여 iframe의 다른 문서로 다른 URL 링크를로드합니다. 이와 같이 :그냥 url에서 문서의 높이와 너비를 가져옵니다.

document.getElementById('iFrame').src = url; 

어쨌든 나는이 URL을 사용하여 문서의 높이와 너비를 얻을 수 있습니까? 이 iFrame이로드 될 때 높이 또는 너비를 가져올 수 없습니다.

+0

? 모니터가 2000px x 2000px의 해상도로 전체 화면에 앉아있는 경우, 화면에 표시되는 콘텐츠의 크기와 상관없이 문서 크기가 2000px x 2000px가됩니다./ –

+0

@ChrisKempen : 데이터를로드하려고합니다. iFrame 그리고 전에 내가 그걸 조절할 수있는 모든 스크롤바를 볼 높이와 너비를 알고 싶어요. – NoviceMe

+0

어쨌든 지적하고 싶은 것은, 고정 너비 사이트에서만 작동 할 수 있다는 것입니다. 다시 보편화되고있는 유연한 너비 사이트는 크기에 관계없이 거의 항상 iFrame의 너비가됩니다. 로드하려는 사이트에 해당하는 경우 iFrame에 액세스하려면 xss 문제를 극복해야합니다. 너 자신 주위에 고정 너비를 사용하는 것과 같은 다른 솔루션을 찾는 것이 더 낫습니다 (데스크톱의 경우 약 850-900px가 현재 표준입니다). – Donamite

답변

1

jQuery를 사용하면 이것을 시도 할 수 있습니다. 상위 및 iframe이 동일한 도메인에있는 경우에만 iframe 요소에 액세스 할 수 있습니다.

$("iframe").load(function(){ 

    var $body = $(this).contents().find("body") 
    var height = $body.height(); 
    var width = $body.width(); 

    //Using these values you can adjust the iframe height and widht. 

}).attr("src", url); 
+0

@ShankarSangoli : 이것은 작동하지 않습니다. 오류 : 사용 권한이 거부되었습니다. – NoviceMe

+0

iframe이 해당 요소에 액세스하기 위해 동일한 도메인에 있어야한다고 제 대답에 언급했습니다. – ShankarSangoli

-1

최선의 해결책 나는 jQuery를 자동으로 프레임의 높이를 변경 발견했습니다

정확히 어떻게 무엇을 찾고있다
$('#frmForm').load(function() { 
    var h = $('#frmForm').contents().find("body").height(); 
    $('#frmForm').css('height', h + 'px'); 
}); 
+0

완전한 대답을 영어로 작성하십시오. – anderssonola

+0

영어로 답변을 번역하십시오. –

관련 문제