2011-05-14 5 views
0

그래서 내부에 iframe이있는 심 모르 상자를 만듭니다. iframe에는 제출 된 함수를 호출하는 텍스트 상자가 있습니다. 그런 다음이 기능은 꺼지며 자체 명령을 실행합니다. 내가하고 싶은 것은 그 사람이 심 모뮬 상자를 닫기 위해 텍스트를 제출 한 후입니다. 모달에 대한 ID를 설정할 수있는 속성을 실제로 보지 못했기 때문에 함수 외부에서 참조 할 수 있습니다. 여기 내 코드입니다 :외부에서 Simplemodal을 닫을 수 없습니다.

모달 :

$.modal('<iframe src="chrome-extension://kdcfmjjkjcgaklpmpnhcmieepkiddfen/options.min.html" height="120" width="300" style="border:0">', { 
       close: true, 
       closeHTML:"", 
       containerCss:{ 
        backgroundColor:"#000", 
        borderColor:"#000", 
        height:100, 
        padding:0, 
        width:300, 
        height:125 
       }, 
       overlayClose:true, 
       opacity:50, 
       overlayCss: {backgroundColor:"#000"} 
      }); 

options.min.html :

passMessage : 당신이 모달을 볼 수

function passMessage() { 
     var value = document.getElementById('speechInput').value; 
     var event = "commands" 
     $.modal.close(); 
     chrome.extension.sendRequest({command:value}, function(response) {}); 
    } 

options.min.html을 사용하여 모달 안에 음성 입력 상자를 만듭니다. 일단 사용자가 말하는 것을 멈 추면 그 상자에서 값을 가져 오는 다른 함수가 호출됩니다. 그러나 $ .modal.close(); 함수는 실제로 모달을 닫지 않고 내 프로그램을 정지 시키며 아무데도 가지 않습니다. 다른 곳에서 만들어진 모달을 참조하는 방법을 알아야합니다. 어떤 도움

감사

+0

이후 $ .modal.close(); http://www.ericmmartin.com/projects/simplemodal/의 iframe 예에서 작동하는 것으로 보입니다 (크롬 콘솔에서 실행). 작동하지 않으면 안되는 것 같습니다. 프로그램이 멈춘다 고 말할 때 콘솔에 오류 또는 경고가 표시되지 않습니까? 거기에 브레이크 포인트를 설정 했습니까? 이전 줄 다음에 세미콜론이 없습니까 (var event = "commands")? – RwwL

+0

글쎄 나는 $ .modal.close() 명령 전후에 경고를하고 before 명령 만 실행합니다. 그것은 $ .modal.close() 명령에 걸리지 만 실행이 끝나면 아무 것도 멈추지 않습니다. var event = "commands"라인은 현재 내 코드에서 주석 처리되어 있으므로 아무 효과가 없습니다. 모달이 열려 있고 sendRequest가 보내지지 않습니다. $ .modal.close() 줄을 제거하면 sendRequest가 처리됩니다. – eric

+0

$ .modal.close()를 console.log ($. 모달)로 바꾸고 로그인 내용을 확인하십시오. jsfiddle 또는 jsbin에 페이지 또는 관련 부품을 게시 할 수 있습니까? – RwwL

답변

0

당신은 iframe 내에서 모달를 종료하려면 다음 자바 스크립트를 사용

ID 년대에 관해서는
parent.$.modal.close(); 

이 SimpleModal 자동으로 대화 상자 요소에 추가 : simplemodal-overlaysimplemodal-containersimplemodal-data

+0

예, 그 중 아무 것도 작동하지 않습니다. 가까운 부분에서 여전히 실속합니다. 외부 함수에서 모달을 닫으려고합니다. shortcuts.js에서 options.min.html로 돌아가서 shortcuts.js로 돌아가서 그 곳에서 모달을 끝내고 명령을 계속 진행합니다. 그러나 그것이 shortcuts.js로 돌아 왔을 때 멈춰 버립니다. 이것은 혼란 스럽습니다. 나는 다른 방식으로 모달을 참조하는 클릭을 발생 시키려고 시도했다. 그리고 그것을 닫으려고 노력하는 다른 무작위적인 것들로 가득한 무리는 결코 그것을하지 않는다. – eric

관련 문제