0

因此,我正在使用 JSF 2.0,并且创建了一个如下所示的 javascript:

            <script type="text/javascript">
                    function generate(){
                        if(!licenseServerInfo){
                            NI.pnx.messaging.popMessage(NI.pnx.messaging.messageTypes.warning,['<strong>Your changes to License Server Name and Computer ID have not been saved.</strong><a href="" class="right"><strong>Undo Change</strong></a>'],NI.pnx.messaging.messageTimeoutSpeeds.never);
                        }else{
                            generateLicenseFile();
                            document.getElementById('upperButtons:generateCall').click();
                        }
                    }                   
            </script>

但它是这样渲染的:

<script type="text/javascript"><!--

                    function generate(){
                        if(!licenseServerInfo){
                            NI.pnx.messaging.popMessage(NI.pnx.messaging.messageTypes.warning,['<strong>Your changes to License Server Name and Computer ID have not been saved.
//--></strong><a class="right"><strong>Undo Change<!--

                    function generate(){
                        if(!licenseServerInfo){
                            NI.pnx.messaging.popMessage(NI.pnx.messaging.messageTypes.warning,['<strong>Your changes to License Server Name and Computer ID have not been saved.
//--></strong><!--

                    function generate(){
                        if(!licenseServerInfo){
                            NI.pnx.messaging.popMessage(NI.pnx.messaging.messageTypes.warning,['<strong>Your changes to License Server Name and Computer ID have not been saved.
//--></a>'],NI.pnx.messaging.messageTimeoutSpeeds.never);
                        }else{
                            generateLicenseFile();
                            document.getElementById('upperButtons:generateCall').click();
                        }
                    }

                <!--

                    function generate(){
                        if(!licenseServerInfo){
                            NI.pnx.messaging.popMessage(NI.pnx.messaging.messageTypes.warning,['<strong>Your changes to License Server Name and Computer ID have not been saved.
//--></script>

使用 chrome 的控制台,如果我调用每个包含的函数,它们都可以正常工作。但是如果我尝试调用 generate(),它会说它不存在。

有任何想法吗?

4

1 回答 1

1

一方面,看起来您正在循环内生成该代码(这就是该函数被多次编写的原因)。另一方面,您可以尝试将脚本设置在 a<![CDATA[ ]]>中,以避免浏览器尝试解析它

于 2013-09-06T19:54:16.873 回答