2011-09-11 3 views
1

비정상적인 설정이 있습니다. 먼저, 프레임이있는 페이지가 있습니다.문서가 완전히로드되지 않는 프레임의 컨텐츠에 액세스하십시오.

<html> 

<head> 

    <title>My Chat</title> 

</head> 

<frameset id="resize" rows="*,135"> 

    <frame name="Main" src="/chat/stream.pl"> 

    <frame name="Comm" src="/chat/realm.pl"> 

</frameset> 

</html> 

메인 프레임에는 서버에서 지속적으로 스트리밍되는 내용이 있습니다. 문제는 브라우저가 페이지를 로딩하지 않고 시간 초과가 발생하지 않는 것처럼 처리한다는 것입니다. 페이지에는 이와 같은 내용이 있습니다.

<table class="PSTPRI" cellspacing="3" cellpadding="2"> 

    <tr> 

    <td> 

    <IMG SRC="http://mysite.com/myimage.jpg" HEIGHT="470" WIDTH="550" ALIGN="left" BORDER="0"> 

    <!-HEAD--> lots of text for the post header <!-POST--> 

    <p><span style="font-size: 11px; color: #FFFFFF; font-family: Verdana;">the post text<BR></span></p> 

    </td> 

    </tr> 

    <!-- ...more content here, each post is a new TR --> 
</table> 

실시간 이벤트를이 콘텐츠의 이미지에 바인딩 할 수 있기를 원합니다. 주의 사항 - 프레임 셋을 포함하는 페이지에 할당 할 크롬 확장으로 만들고 있습니다. 스크립트는 작동하지만 이미지에 이벤트를 첨부 할 수 있어야합니다. 당장은 여기에 샘플 이벤트를 첨부하고 싶습니다.

$('table.PSTPRI td img').live('click', function() { 
    alert('test'); 
}); 

문제는 그러나, 1) 내가 올바른 컨텍스트에서 이미지를 선택하는 방법을 알고하지 않으며, 문서 이제까지로드 아니라고 2) 나는 가정에서 작동하는 선택을해야 할 것입니다 개체가 화면에 표시되는 경우에도 마찬가지입니다.

+0

한 이유를 떠나지 않았어요을 downvoted 누구든지 있기 때문이다. –

답변

1

글쎄, 귀하의 질문에 빠진 몇 가지 세부 사항이 있습니다. 그래서 이것이 당신이 찾는 대답이 아니라면 용서해주십시오.

"프레임이있는 페이지"에 일부 스크립트를 삽입하려고합니다. 다음과 맞아 경우, 당신이해야 할 모든 content_scripts 섹션에서의 manifest.json의 두 가지 속성을 설정되어 :

"content_scripts": [ 
    { 
     "matches": ["Match pattern for your page with frames"], 
     "js": ["main_script.js"], 
     "all_frames": true, 
     "run_at": "document_start" 
    }, 
    {...} 
    ] 

all_frames : 컨트롤 콘텐츠 스크립트의 모든 프레임에서 실행 여부 일치하는 페이지 또는 맨 위 프레임 만


run_at : JS에서 파일이 제어를 주입 할 때. "document_start", "document_end"또는 "document_idle"이 될 수 있습니다. 기본값은 "document_idle"입니다.

"document_start"의 경우 파일은 CSS의 파일 이후에 삽입되지만 다른 DOM이 생성되거나 다른 스크립트가 실행되기 전에 삽입됩니다.

참고 : http://code.google.com/chrome/extensions/content_scripts.html

관련 문제