데이터를 관리한다면 가장 좋은 방법 일 것입니다. 여기에 대한 다른 해답들도 장점을 가지지 만 모두 결함이 있습니다. 예를 들어 querySelector()
메서드는 호스트 컴퓨터에서 IE8 모드로 실행되는 Windows 데스크톱 가젯에서만 사용할 수 있습니다. 정규식은 HTML 구문 분석에 특히 신뢰할 수 없으므로 사용하지 않아야합니다.
데이터를 제어하지 않거나 보안 프로토콜을 통해 데이터를 전송하지 않는 경우 코드 미학보다 보안에 더 관심을 가져야합니다. 잠재적 인 보안 위험이 가젯에 발생할 수 있습니다. unsanitized HTML을 문서에 삽입하여 호스트 컴퓨터에 복사합니다. 가젯은 사용자 또는 관리자 수준의 권한으로 실행되므로 확실한 보안 위험은 신뢰할 수없는 source/MITM 스크립트 삽입이므로 악성 스크립트가 실행중인 컴퓨터에 혼란을 야기 할 수있는 구멍을 남깁니다.
function getElementFromResponse(divId)
{
var h = new ActiveXObject("htmlfile");
h.open();
// disable activex controls
h.parentWindow.ActiveXObject = function() {};
// write the html to the document
h.write(html);
h.close();
return h.getElementById("divID").innerText;
}
또한 IE8의 toStaticHTML()
방법을 활용할 수 있지만, 가젯은 IE8 모드로 실행해야 할 것 :
하나 개의 잠재적 인 솔루션은 htmlfile
ActiveXObject를 사용하는 것입니다.
감사합니다! 저는 ActiveX를 사용할 수 있도록 가젯에서 크로스 브라우저가 아니어도 항상 잊지 않습니다. –
@ m6a-uds : 아마도 가젯을 개발하고 독점적 인 IE 기능에 가장 적합한 가장 큰 이점 일 것입니다. 가젯에 내장 한 것들 중 일부는 다른 브라우저에서 실행할 기회가 없었을 것입니다 :-) –