惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
Jina AI
Jina AI
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
博客园 - 司徒正美
罗磊的独立博客
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
Vercel News
Vercel News
A
About on SuperTechFans
I
InfoQ
D
DataBreaches.Net
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队

博客园 - 一直在学习...

Enabling sound over RDP with a Windows Server 2003 virtual machine List of known project type Guids VS2010 Beta2发布了 Silverlight3 Tools Download link 很有用的Windows 7 小贴士 (ZT) 免费的Windows Mobile远程遥控软件(可以截屏,遥控等) 建议能在园子里面发布Silverlight2.0应用 使用JavaScript创建Table时,用cellSpacing而不是cellspacing - 一直在学习... - 博客园 跨站点脚本攻击的防范(ZT) 微软发布了Office Mobile6.1, 支持Office 2007格式(For WM5 和 WM6) Top 10 things to know about Visual Studio 2008 and .NET Framework 3.5(ZT) 微软发布IE、Firefox、Opera和Safari的JavaScript兼容性研究(ZZ) Stay On Top的小工具 Google的搜索记录 一个GDIPlus的Bug -- OutofMemory异常 翻译: 绘制窗体时防止闪烁 IE7 想说爱你不容易 使用VS.Net IDE调试JavaScript session详解(ZT)
XHTML中需要书写独立的封闭Script标签 - 一直在学习... - 博客园
一直在学习... · 2008-01-10 · via 博客园 - 一直在学习...

今天在学习JavaScript时,遇到一个问题:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Javascript Study</title>
    <script type="text/javascript" src="test.js" />
</head>
<body onload="load()">

</body>
</html>

 上面的load()函数在FF下没有问题,但是在IE下不能成功。Google了一下,有文章描述:

 
http://www.javaddicts.net/blog/index.php/2006/09/19/external-javascript-files-and-script-tags/
 

I spent half of the day hunting down a nice issue related to external JavaScript files and a group of <script> tags with both external and inline-declared JavaScript. The problem and its solution is just so plain dumb that I just had to post it.

I had a JavaScript block that declared some global variables. That block just didn’t get parsed in Internet Explorer and Firefox, but worked just fine in Safari. Before the block two external JavaScript files were included, like this:

<script type="text/javascript" src="foo.js"/>
<script type="text/javascript" src="bar.js"/>
<script type="text/javascript">
    var myVar = "something";
</script>

The block containing the variable declaration never got executed. The reason? Both Firefox and Internet Explorer went straight ahead and parsed the stuff until the ending </script> and because of the fact that <script type="text/javascript"> isn’t really valid JavaScript code, both couldn’t parse the real stuff, i.e. the variable declaration. Neat, no? So to keep it real, you gotta write the following:

<script type="text/javascript" src="foo.js"></script>
<script type="text/javascript" src="bar.js"></script>
<script type="text/javascript">
    var myVar = "something";
</script>

As an experiment I tried declaring the HTML as being XHTML, but even that didn’t help. Or maybe I have been staring at this code for too long.

另外一篇safari的文章也挺有意思:
 http://webkit.org/blog/68/understanding-html-xml-and-xhtml/

posted on 2008-01-10 16:19  一直在学习...  阅读(776)  评论()    收藏  举报