在answer to this question(见JSFiddle)的基础上,我有:
var baseContent = '<!DOCTYPE html><html lang=\"en\"><head><title>..etc...</head><body>'+myContent+'</body></html>';
...并且它有效(在这种情况下产生iframe的内容)。但是,如果我使用相同的程序在<head>
(或<body>
)中添加一些javascript,例如:
<script type=\"text/javascript\">swfobject.embedSWF(\"flash.swf\", \"my_flash\");</script>
...我在unterminated string literal
收到错误var baseContent = '
。如何在var baseContent
中添加javascript?
更新
@TamarG我尝试了以下建议,但没有运气 - 请参阅:http://www.casedasole.it/fancybox/js/index.html。我需要在var baseContent
中包含指向外部javascript文件(swobject.js)的链接及其在<head>
中的相关javascript。但是将<script type=\"text/javascript\" src=\"swfobject.js\"></script>
添加到var baseContent
会停止iframe加载,并在unterminated string literal
处出现相同的错误:var baseContent = '
。
解释(回复如下)
我的问题中提到的JSFiddle显示了如何使用fancybox在页面加载时打开iframe。 iframe的内容在&#34; launch&#34;中编码。页面(不寻常,因为通常fancybox iframe加载单独的HTML文件,图像,视频等)。
在JSFiddle示例中,var baseContent
包含可用于创建iframe内容的HTML示例(<!DOCTYPE>
,<head>
,<style>
<body>
等)。在var baseContent
中对基本HTML进行编码看起来很简单 - 例如<style type="text/css">
变为<style type=\"text/css\">
。
但我还需要iframe <head>
链接到外部swfobject.js文件并包含标准的2行swfobject闪存检测脚本swfobject.embedSWF("flash.swf", "my_flash"
等。
但是,当我使用与其他HTML标记一起编码javascript标记的相同方法,即将<script type="text/javascript" src="swfobject.js"></script>
编码为<script type=\"text/javascript\" src=\"swfobject.js\"></script>
时,会出现错误并且iframe无法打开在页面加载 - see this page。
所以我的问题是如何格式化var baseContent
中外部js文件的链接(然后,一旦工作,如何格式化var baseContent
本身的js)。
答案 0 :(得分:1)
<script type=\"text/javascript\">
是在html中输入JS。如果主要代码是JS - 只需删除<script type=\"text/javascript\"></script>
并只写swfobject.embedSWF("flash.swf", "my_flash");
'<!DOCTYPE html><html lang=\"en\"><head><title>'+
swfobject.embedSWF("flash.swf", "my_flash")
+'</head><body>'+myContent+'</body></html>';