Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么在注释中添加</script>会破坏解析器?

为什么在注释中添加</script>会破坏解析器?
EN

Stack Overflow用户
提问于 2015-09-30 07:25:02
回答 4查看 3.8K关注 0票数 73

为什么在注释中添加</script>会破坏解析器?这是一个bug,还是我在文档中忽略了什么?

我已经在Chrome,Firefox,Opera,Internet和Explorer上测试过了,它们都产生了相同的结果。

单行注释:

代码语言:javascript
运行
AI代码解释
复制
function Foo(){
  // </script>
  alert("bar");
};

Foo();

多行注释:

代码语言:javascript
运行
AI代码解释
复制
function Foo(){
  /*
      </script>
  */
  alert("bar");
};

Foo();

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-09-30 07:31:21

这是因为W3C定义的超文本标记语言解析器与JavaScript解析器完全分离。在<script>标记之后,它查找结束的</script>,而不管它是在注释还是字符串中,因为它将JS代码视为普通文本。

票数 102
EN

Stack Overflow用户

发布于 2015-09-30 07:33:32

超文本标记语言解析器不解析JavaScript。它只解析由<tag></tag>标记表示的HTML元素。它不知道某些东西是JavaScript注释。当它看到</script>结束标记时,它认为脚本元素正在被关闭。无论字符串</script>出现在什么上下文中,都会发生相同的情况;例如,console.log("</script>")将产生相同的行为。

这是一个很好的理由,不将脚本嵌入到HTML中,而是将它们包含在外部。

票数 33
EN

Stack Overflow用户

发布于 2015-09-30 08:43:11

您可以对嵌入式JavaScript代码进行超文本标记语言转义

代码语言:javascript
运行
AI代码解释
复制
<script type="text/javascript">
<!--

function Foo(){
 // </script>
  alert("bar");
};

Foo();

//-->
</script>

因此,整个JavaScript代码被超文本标记语言解析器视为超文本标记语言注释,而超文本标记语言注释行被JavaScript解释器忽略。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32860237

复制
相关文章
HttpClient上传文件传入MultipartFile类型
通常我们在使用httpclient的时候,一把都是使用get或者postd的方式传输一些数据。在近期的项目中有这样的一个需求,我需要通过httpclient去调用一个写好的文件上传的接口,接口中是使用MultipartFile 来接受文件类型参数的。在这种情况下我们就开辟一个HttpClient中的高级功能了。直接上代码,封装了一个工具类:
一缕82年的清风
2021/12/06
5.5K1
Asp.Net Core中HttpClient的使用方式
在.Net Core应用开发中,调用第三方接口也是常有的事情,HttpClient使用人数、使用频率算是最高的一种了,在.Net Core中,HttpClient的使用方式随着版本的升级也发生了一些变化,本次就讲解一下Asp.Net Core2.1前后使用的两种方式。
心莱科技雪雁
2019/03/11
1.2K0
Asp.Net Core中HttpClient的使用方式
.NET HttpClient扩展
/// <summary> /// HttpClient扩展类 /// </summary> public static class HttpClientExtensions { /// <summary> /// HttpClient请求封装 /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="
guokun
2020/09/03
4560
如何在模拟器中测试Windows Phone 8的NFC应用
众所周知Window Phone 8 SDK的模拟器不支持NFC功能的测试。如果您开发了一款基于NFC功能的应用,那么意味着您测试时需要两台支持NFC的Windows Phone设备在手,这样的配置恐怕会让很多独立开发者望而却步。
星哥玩云
2022/07/04
2.4K0
如何在模拟器中测试Windows Phone 8的NFC应用
HttpClient测试框架
HttpClient是模拟Http协议客户端请求的一种技术,可以发送Get/Post等请求。 所以在学习HttpClient测试框架之前,先来看一下Http协议请求,主要看请求头信息。
yuanyuan
2019/09/02
1.1K0
HttpClient测试框架
HttpClient在HTTP协议接口测试中的使用
TTP协议的接口测试中,使用到最多的就是GET请求与POST请求,其中POST请求有FORM参数提交请求与RAW请求,下面我将结合HttpClient来实现一下这三种形式:
流柯
2018/08/30
1.9K0
如何在 Android 模拟器中模拟 GPS 位置
可以通过 Telnet 连接到仿真器。然后你有一个模拟器控制台,可以让你输入某些数据,比如地理定位、网络等。
张云飞Vir
2021/12/06
9.8K0
如何在 Android 模拟器中模拟 GPS 位置
HttpClient4模拟表单提交[通俗易懂]
//servlet的访问地址是:http://localhost:80/testjs/servlet/FormServlet
全栈程序员站长
2022/09/15
8680
使用HttpClient测试SpringMVC的接口
最近在写SSM创建的Web项目,写到一个对外接口时需要做测试,接受json格式的数据。在线测试需要放公网地址,无奈localhost无法访问,测试工具需要安装,不想折腾,想到写爬虫的时候用到的HttpClient可以发Post请求,于是进行了尝试。
geekfly
2022/05/06
3260
ASP.NET Core 单元测试:如何 Mock HttpClient.GetStringAsync()
在 ASP.NET Core 单元测试中模拟HttpClient.GetStringAsync() 的技巧。
Edi Wang
2021/05/27
1.4K0
httpclient接口测试中重试控制器设置
本人在使用httpclient做接口测试的过程中,之前并没有考虑到请求失败自动重试的情况,但有时又需要在发生某些错误的时候重试,比如超时,比如响应频繁被拒绝等等,在看过官方的示例后,自己写了一个自动重试的控制器。分享代码,供大家参考。
FunTester
2019/09/25
9010
asp.net core之HttpClient
本文介绍了ASP.NET Core中的HttpClient和HttpClientFactory的作用、用法以及最佳实践。通过示例代码的展示,读者可以了解如何使用HttpClient发送HTTP请求并处理响应,以及如何使用HttpClientFactory来解决HttpClient的一些问题,如资源泄漏和性能问题。同时,本文还强调了HttpClientFactory的优势,如更好的性能、资源管理和可配置性。通过深入理解和应用HttpClient和HttpClientFactory,开发人员可以更好地与外部服务进行通信。
饭勺oO
2023/10/18
4650
asp.net core之HttpClient
MyBatis中传入参数parameterType
Mybatis的Mapper文件中的select、insert、update、delete元素中有一个parameterType属性,用于对应的mapper接口方法接受的参数类型。
赵哥窟
2019/07/03
3K0
HttpClient-代理IP、模拟浏览器
创建HttpHost对象,设置代理IP(如114.113.126.82,端口80)。
wangmcn
2022/07/25
6880
HttpClient-代理IP、模拟浏览器
如何在 CMD 启动的软件传入带空格的路径
在使用 CMD 命令的时候,会将传入的命令按照空格分为多个不同的命令,但是路径经常是带有空格的。特别是想将参数传入到通过命令行启动的软件里面,可以如何做?
林德熙
2019/06/15
4.2K0
HttpClient参观记:.net core 2.2 对HttpClient到底做了什么?
.net core 于 10月17日发布了 ASP.NET Core 2.2.0 -preview3,在这个版本中,我看到了一个很让我惊喜的新特性:HTTP Client Performance Improvements ,而且在Linux上性能提升了60% !
ShenduCC
2018/12/05
1.1K0
HttpClient参观记:.net core 2.2 对HttpClient到底做了神马
.net core 于 10月17日发布了 ASP.NET Core 2.2.0 -preview3,在这个版本中,我看到了一个很让我惊喜的新特性:HTTP Client Performance Improvements ,而且在Linux上性能提升了60% !
ShenduCC
2019/06/11
5800
如何在Visual Studio中调试.NET源码
In order to configure Visual Studio 2013 do the following in the Tools -> Options -> Debugging -> General menu:
卡尔曼和玻尔兹曼谁曼
2019/01/22
2K0
如何在Visual Studio中调试.NET源码
httpclient模拟post请求json封装表单数据
以下代码包括最基本的GET、POST、JSON参数的POST方式的请求。(相当于POSTMAN中使用raw编写的参数)
I Teach You 我教你
2023/07/18
4050
点击加载更多

相似问题

如何在测试中模拟Angular 4.3 httpClient错误响应

10

在单元测试中模拟HttpClient

230

如何在SoapUI中测试对模拟服务的传入响应?

11

角度:单元测试中HttpClient的模拟

11

如何在单元测试HttpClient时模拟GetDiscoveryDocumentAsync?

2120
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文