숫자 형식 예외는 코드의 어느 시점에서 문자열을 숫자로 구문 분석하려고 시도한다는 것을 의미합니다. 어떤 OpenLaszlo 버전을 사용 했습니까?
LzBrowser (OpenLaszlo 4.1로 시작하는 대신 lz.Browser를 사용해야 함)를 기반으로하여 OpenLaszlo의 3.x 또는 4.0 릴리스를 사용하고있는 것으로 보입니다.
JavaScript 코드가 포함 된 메서드에서 앰퍼샌드 "&"을 사용하려면 XML 엔터티 규칙이 적용됩니다 (&으로 시작하는 모든 항목은 XML 항목으로 처리됩니다). 메소드에 섹션을 추가하면 일반적인 JavaScript 또는 ActionScript 코드에서와 같이 &을 사용할 수 있습니다 (예 : CDATA 섹션없이
<canvas debug="true">
<button text="Open URL" onclick="canvas.loadUrl()" />
<attribute name="base" type="number" value="99" />
<attribute name="iD" type="number" value="10" />
<method name="loadUrl"><![CDATA[
lz.Browser.loadURL("http://www.google.com?base=" + canvas.base + "&iD=" + canvas.iD, "_blank");
]]></method>
</canvas>
는 다음과 같은 컴파일러 에러가 발생한다 :
loadurl.lzx : 10 : 71 다음으로 끝나야 엔티티 "ID"에 대한 참조 ';' 구분 기호. 잘못 놓거나 이스케이프 처리되지 않은 앰퍼샌드 ('&') 문자 을 소스 코드에서 찾으십시오.
대신 "&"없이 CDATA 섹션의 "&"를 사용하는 기술 해결은 물론 유효한 옵션입니다 - 내 눈에 자바 스크립트 코드의 가독성을 감소하지만.
위의 문을 사용하면 컴파일 시간 오류가 발생합니다. – user27