Android CloudView의 WebView에서 Google 클라우드 채널을 사용하고 있지만 비슷한 방식으로 소켓을 사용할 때도 동일한 문제가 발생할 수 있습니다.자바 스크립트 인수가 처리기를 통해 전달되지 않음
문제점 : 함수가 다른 범위에서 호출 되었기 때문에 인수가 처리기에서 전달되지 않을 수 있습니다.
여기 내 코드입니다 :
단일 인수 (문자열)가 내의 onMessage 기능이 제대로이라고하지만, 인수가 다른 범위에 아마 때문에, '정의되지 않은'됩니다의 onMessage<html>
<head>
<script src='{{ channelurl }}jsapi'></script>
</head>
<body>
<script type="text/javascript">
onMessage = function(message) {
};
var token = '{{ token }}';
var channel = new goog.appengine.Channel(token);
var handler = {
'onmessage': onMessage,
};
var socket = channel.open(handler);
socket.onmessage = onMessage;
</script>
</body>
</html>
.
이 질문은이 질문이나 다른 유사한 질문과 중복 될 수 있으며 거기에 제공된 조리법을 적용하려했지만 성공하지는 못했습니다.
How do I pass arguments to an event handler? How to pass event as argument to an inline event handler in JavaScript?
는 사실
http://2cor214.blogspot.com/2010/08/passing-arguments-to-event-handler-in.html
여기에서 코드를 적용하고 이런 것들로 재생하려고 : {)
socket.onmessage = (기능 (메시지 return onMessage}) (메시지)
많은 va 이교도들은 일을 할 수는 없었다.
필자는 자바 스크립트를 정상적으로 개발하지 못하고 있으며 JavaScript가 무엇을하는지 이해하지 못한다고 생각합니다. 그러나 필자는 그 인수가 어떻게 든 감춰진 함수를 추출해야한다고 생각합니다.
아무도 빛을 발산 할 수 있습니까?
-
간결함을 위해 제 코드를 삭제했습니다.