首页 > 其他分享 >第五十七章 CSP的常见问题 - 如何调试CSP页面?

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

时间:2022-11-25 07:44:06浏览次数:41  
标签:常见问题 单击 write 第五十七章 断点 CSP 调试 页面

第五十七章 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字符串。它还正确地转义返回结果中包含的任何引号。

标签:常见问题,单击,write,第五十七章,断点,CSP,调试,页面
From: https://www.cnblogs.com/yaoxin521123/p/16924055.html

相关文章

  • CSP-2022-J 复赛题解
    \(\large\texttt{T1P8813[CSP-J2022]乘方}\)原题链接#include<iostream>#include<cstdio>#defineintlonglongusingnamespacestd;inta,b,c;intpow(int......
  • NFLS2022 CSP 模拟赛 21 C
    Link题解神仙调整题。无解就是两点一边,神奇的是std并没有写无解情况(设点\(u\)的权值\(sum_u\)为\(u\)相邻边的边权和\(\bmod3\)的结果。考虑二分图怎么做,拉......
  • NFLS2022 CSP 模拟赛 21 A
    Link题解不会T1/hanx首先对\(S\)串KMP一波。假如我们已经填好了\(T\)的前\(i\)个字符,并设\(T_{1\simi}\)与\(S\)的相同长度前缀相等的最长后缀长度为\(......
  • 题解 LGP7914【[CSP-S 2021] 括号序列】
    solution最终括号串形如:(***(...)(...)***(...)),或者((...)(...)***(...)***),或者((...)(...)***(...)),就是说中间可有可无,两边只留一个。令\(st_{l,r}\)表示\([l,r......
  • python http.server 的测试和常见问题解决方法
    一.测试准备先分别写一个简单httpserver 和一个html文件。html文件只是引入了jquery, 后面测试用<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • P8818 [CSP-S 2022] 策略游戏
    [CSP-S2022]策略游戏实际上就是先手的那个人取保底,后手的那个人取此刻的最佳值。我一开始以为两个人都取保底,谁想到这么没意思……那么就是线段树小应用,分别维护区间......
  • P8817 [CSP-S 2022] 假期计划
    [CSP-S2022]假期计划我第一眼看的时候怎么搞都会多一个\(O(\logn)\),还在想是不是有什么高深做法……然后想到边权为\(1\)的时候好像根本不需要用Dijkstra,直接BFS......
  • P8819 [CSP-S 2022] 星战
    [CSP-S2022]星战这么长时间过去都快不会写题解了。嗯……不过还是稍微记一下会比较好。题意看完之后就是让我们去判断整张图是否是一个内向基环树森林。然后这个事情......
  • 10. Redis常见问题
    https://www.bilibili.com/video/BV1PA4y1D7Ry?p=271Redis到底是单线程还是多线程   2Redis单线程为什么还能这么快  哈希表:一维数组和链表3Redis底层数......
  • 2022 CSP-J/S 考前复习计划 !
    考前要解决、补充的知识1.二分(ans精确到某一位小数的类型,如P1024)2.学会int_128的使用及快读快写的模板3.复习背包的滚动数组写法,以免炸空间4.关于stl容器的一些函数......