2012-01-22 5 views
2

최근 JavaScript에서 foo.toSource() 옵션을 사용했습니다. 이것은 함수의 직렬화를 허용합니다. 서버에서 클라이언트로 함수를 네트워크를 통해 전달하고 나중에 eval()을 사용하여 함수를 실행할 수 있는지 궁금합니다.서버에서 클라이언트로 함수 전달하기

실제로 유용하다고 생각하십니까?
그런 패러다임을 사용하는 프레임 워크가 있습니까?

+1

1)'toSource()'는 IE 전용입니다. [이 질문에 대한 답변 (http://stackoverflow.com/questions/171407/implementing-mozillas-tosource-method-in-internet-explorer)을 참조하십시오. 다른 브라우저에서의 구현. 2) 당신이 묻는 질문에'toSource'의 연결은 무엇입니까? –

+1

나는 eval()을 사용하지 말 것을 권한다. 속도가 느리며 사용자가 생성 한 코드가 XSS의 위험에 노출됩니다. –

+0

감사. 내 질문은 더 이론적이다. 나는 왜 그것을하는 실제 이유를 제안하는 것을 의미하지는 않는다. (toSource는 네트워크를 통해 전송되는 함수를 직렬화하는 방법 일 뿐이다.) – Ofri

답변

0

서버에서 페이지로 함수를 전달하는 것은 서버에서 페이지가 생성 될 때 코드에 삽입하거나 필요한 경우 AJAX를 통해 요청하는 것으로 toSource없이 수행 할 수 있습니다. 내가 볼

+0

감사합니다. 예, 당신이 말하는 것에 대해 생각해 보았습니다. 그리고 그것은 저의 다음 질문/경이로이 끕니다 : 그걸로 함수를 전달할 수 있습니까? 그런 종류의 기능이 유용 할 것이라고 생각합니까? – Ofri

0

유일한 사용 사례는 다음과 같습니다

당신은 .js를 보낼 때마다
  1. JSNOP

당신에 대해 생각 것은 가망없는 파일. 그래서 우리는 함수의 텍스트 표현만을 보낼 수 있습니다. 문맥이나 클로저와 그 모든 것들은 아닙니다.

+0

감사합니다. 도움이되었다. 나는 이것을 통해 생각하지 않았다을 추측한다. – Ofri

관련 문제