• 欢迎光临~

第五十七章 CSP的常见问题 - 如何调试CSP页面?

开发技术 开发技术 2022-11-25 次浏览

第五十七章 CSP的常见问题 - 如何调试CSP页面?

如何调试CSP页面?

不要用Debug > View Breakpoints来设置断点,因为这似乎容易出错。

  1. 要调试CSP页面,必须检查选项工具>选项>编译器>保留生成的源代码。
  2. 打开工作区窗口,将CSP页面添加到CSP文件夹中(如果它们还不在那里)。
  3. 编译CSP,然后单击工具栏中的“查看其他代码”图标(或选择“查看”>“查看其他代码”)。这使可以看到.cls.int文件。例如,文件A.CSP生成CSP。CSP.1.INTCLS
  4. .cls或者.int文件中,右键单击需要断点的代码行,然后选择“调试”>“断点”>“切换断点”(或者选择该行并按F9)。
  5. 选择调试>调试目标> ZENCSP页面。从下拉列表中,选择调试器将在其上运行的目标CSP页面,然后单击确定。(如果将CSP拖到工作区窗口,它们会出现在下拉列表中。)
  6. 单击调试工具栏上的开始。

比如你有一个操作流程:A-> B;也就是说,显示页面A,然后通过链接访问页面B。如果页面B中有一个bug,应该执行以下操作:

  1. 检查A.CSPB.CSP是否在工作区窗口中。
  2. 两者都编译。
  3. 选择视图>工具栏>调试以打开调试工具栏。
  4. 选择调试>调试目标> ZENCSP页面。从下拉列表中,选择一个. CSP,然后单击确定。
  5. 打开B.CSP并选择查看>查看其他代码以打开csp.B.CLS
  6. csp中。B.CLS,右键单击OnPageBODY()方法中的第一行,然后选择调试>断点>切换断点。
  7. 单击调试工具栏上的开始。
  8. 将显示页面A
  9. 单击链接打开页面b
  10. 调试器在B中的断点处停止

为什么下面的代码不能编译?

<script language="Cache" runat="server">
    write "<script language=javascript>", !
    write "int x = 10; alert(x);", !
    write "</script>"
</script>

在脚本标记中使用runat="server "编译CSP页面时,编译器运行ObjectScript并将其转换为HTML以在页面上显示。但是,在遇到< script language = " cache " runat = " server " >标记后,它会查找</script> end标记来表示ObjectScript代码的结束,在本例中,它会在write语句中找到该标记。要编译它,请将</script >标记分成两个write语句:

<script language="Cache" runat="server">
    write "<script language=javascript>", !
    write "int x = 10; alert(x);", !
    write "</script",">", !
</script>

当我使用&js<alert("Error!");>要显示警告框,文本alert("Error!")而不是警告框。为什么?

可以将这一行放在runat="server "代码段或从runat="server "块调用的方法中。要在页面加载时执行JavaScript,添加<script language="javascript ">标记,如前一个答案所示。

代码&js<alert("Error!")>在服务器端方法内部工作,该方法通过加载页面中的JavaScript事件调用。

如何在警报消息中包含ObjectScript变量?

使用#()#语法。从ObjectScript方法内部,尝试如下操作:

 s error = "Bad password"
 &js<alert(#(..QuoteJS(error))#);>

%CSP.Page类提供的QuoteJS方法返回正确引用的JavaScript字符串。它还正确地转义返回结果中包含的任何引号。

程序员灯塔
转载请注明原文链接:第五十七章 CSP的常见问题 - 如何调试CSP页面?
喜欢 (0)