2014-03-03 2 views
0

저는 창을 만들고 동적으로 속성을 변경하려고합니다.자바 스크립트를 사용하여 창 개체의 속성을 변경할 수 없습니다.

하지만 웹 페이지를로드 할 때 (예 : www.google.com) : 완벽하게로드됩니다. "빨간색"버튼을 누르면 창은 뒤로 이동하고 배경색을 변경하지 않습니다.

자바 스크립트 :

var win1 =''; 
function create(){ 
    var url1=document.getElementById('myUrl').value; 
    win1=open(url1,'hello', 'width=500,height=500'); 
} 

function makeItRed(){ 
    win1.document.body.style.backgroundColor="red"; 
    win1.focus(); 
} 

function closeIt(){ 
    win1.close(); 
} 

HTML :

<input type="text" id="myUrl"/> 
<button onClick="create()">Click</button> 
<button onClick="makeItRed()">Red</button> 
<button onClick="closeIt()">close</button> 
+0

[link] (http://stackoverflow.com/questions/2157180/onclick-open-window-and-specific-size)이 주제에 대해 언급했습니다. –

+0

콘솔에 오류가 기록되어 있습니까? 프레임은 [동일한 출처 정책] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript)에 의해 제한되며, 소유하지 않은 리소스의 수정을 방지합니다. –

+0

@Atal에게 감사하지만로드 한 후에 속성을 변경해야합니다. : – Charls

답변

3

은 보안상의 이유로 당신이 permissions from those sites or workarounds없이 제 3 자 사이트의 콘텐츠를 조작 할 수

여기 내 코드입니다. details about Same Origin Policysharing Cross Origin Resources을 참조하십시오.

창 콘텐츠가 사용자 사이트의 다른 페이지 인 경우 코드가 작동해야합니다.

+0

고맙습니다. 내가 뭘하고 있는지 생각해보세요. 일단 확장 프로그램이 페이지에 스크립트를 삽입하고 . 확장자를 통해 창에 액세스 할 수있는 방법이 있습니까? – Charls

+0

보안상의 이유로 google이 iframe에로드 할 수 없도록 설정했습니다. – Charls

+0

'도메인 간 변경을 수행하는'적절한 방법은 사용 권한이나 코드가 필요합니다. 다른 서버가 그렇게 할 수있게하고 대부분의 사이트는 실제로 그렇게하지 않을 것입니다. 대안은 서버에서 오는 것처럼 보이도록 프록시를 사용하는 것입니다. 실제 목표는 무엇입니까? – guymid

관련 문제