HTML onload - 使用变量作为参数

2 html javascript variables parameter-passing onload

我想使用类似的东西:

<body onLoad="init('A sentence with "quoted text" as parameter')">
Run Code Online (Sandbox Code Playgroud)

不幸的是,这确实有效,因为参数中的引号未得到正确处理.

转义引号也不起作用

<body onLoad="init('A sentence with \"quoted text\" as parameter')">
Run Code Online (Sandbox Code Playgroud)

(上面也行不通).

我该如何处理这个问题.我虽然也许我可以创建一个字符串变量并将其句子(带引号)分配给它.但我不知道怎么做!body onload是HTML,Javascript变量只在脚本范围内可见,对吗?确切地说,以下方法不起作用:

<script language="JavaScript">
var dada='A sentence with \"quoted text\" as parameter';
</script>
<body onLoad="init($dada, '</a>')">
Run Code Online (Sandbox Code Playgroud)

Pek*_*ica 9

您必须使用HTML实体才能使其工作:

<body onLoad="init('A sentence with &quot;quoted text&quot; as parameter')">
Run Code Online (Sandbox Code Playgroud)

但更清洁的方法是将值分配<SCRIPT>到文档头部的单独部分中.

...
<script>
body.onload = function() { init('A sentence with "quoted text" as parameter'); }
</script>
<body>
...
Run Code Online (Sandbox Code Playgroud)

onload事件的一般缺点是,只有在加载了文档及其所有资产(图像,样式表...)时才会触发该事件.这是onDOMLoad事件的来源:它在核心HTML结构准备就绪时触发,并且所有元素都被渲染.但是,它不是跨浏览器统一支持的,因此所有框架都有自己的实现.

调用jQuery版本.ready().