Script 自封闭

    在HTML中有一些自封闭的标签,如<br />,<img />。

    而在使用外部js文件的时候,是否也有人使用自封闭式的script标签呢?

   

假如有如下一个html文件,query.js中包含一个getsomebody()方法,那么页面在浏览器里面看起来什么样子呢?
链接是否能正确调用getsomebody方法么?

<html>
<head>
<script type="text/javascript" src="js1.js" />
</head>
<body>
<a href="javascript:getsomebody();">Test line</a>
some text...
</body>
<html>

 

如果你认为页面显示一个链接Text line,那么就错了,当你在浏览器里打开页面的时候,页面是一片空白。

那东西哪去了呢?

 

其实就是“自封闭”的script标签搞得鬼,

 

从以前的HTML到现在的XHTML中W3C的标准都规定script标签不是自封闭的,需要显示的使用</script>标签来封闭。

为什么页面什么都不显示呢?

答案是在<script>标签未读到结束标签</script>的时候,把下面的内容都当作了一块script来处理,但是这样语法又错了,导致什么都显示不出来。

如果你在body上面加一个</script>虽然语法不正确,但是你能发现,内容显示出来了。

现在仍然有很多人使用<script  />来引入js,最好还是改掉这个习惯,使用完整的标签吧。

### 构建封的圆形场景 为了在 Gazebo 中构建一个封的圆形场景,可以采用多种方式来实现这一目标。一种常见的方式是通过 SDF (Simulation Description Format) 文件定义模型并加载到 Gazebo 中。 SDF 提供了一种灵活的方式来描述机器人及其环境[^1]。对于创建特定形状如圆环形的墙壁或其他结构来说,在世界文件中直接指定几何参数是一种有效的方法。下面是一个简单的例子展示如何利用 SDF 创建一个具有内径和外径差别的厚壁圆环作为围栏: ```xml <?xml version="1.0"?> <sdf version="1.6"> <model name="circular_fence"> <static>true</static> <!-- 圆心位置 --> <pose>0 0 0 0 0 0</pose> <!-- 外圈 --> <link name="outer_wall"> <collision name="collision"> <geometry> <cylinder> <radius>5.2</radius> <!-- 半径稍微大于内部空间半径 --> <length>0.3</length> <!-- 墙体高度 --> </cylinder> </geometry> </collision> <visual name="visual"> <material> <script> <uri>file://media/materials/scripts/gazebo.material</uri> <name>Gazebo/Gray</name> </script> </material> <geometry> <cylinder> <radius>5.2</radius> <length>0.3</length> </cylinder> </geometry> </visual> </link> <!-- 内圈 --> <link name="inner_void"> <self_collide>false</self_collide> <gravity>false</gravity> <inertial> <mass>0.001</mass> <inertia> <ixx>0.001</ixx><iyy>0.001</iyy><izz>0.001</izz> </inertia> </inertial> <collision name="no_collision"/> <visual name="void_visual"> <transparency>1.0</transparency> <geometry> <sphere> <radius>5.0</radius> <!-- 这里设置为想要留下的开放区域大小 --> </sphere> </geometry> </visual> </link> </model> </sdf> ``` 上述代码片段展示了如何使用两个嵌套的柱状物体模拟出一个空心圆环的效果——外部较大的圆柱代表实体部分;而内部较小的球体则用来占据中心的空间而不参与碰撞检测,从而形成视觉上的开口效果。 此外,还可以考虑借助于更高级的设计工具比如 Blender 或 SolidWorks 来设计复杂的三维模型,并将其导出为 STL 文件格式导入至 Gazebo 使用。这种方法适合那些希望通过图形界面直观编辑复杂地形或建筑物外观的人群[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值