Javascript swfobject.embeddeswf不';我什么也不做。我错过了什么?
我正在试验使用swfObject在我的网站上嵌入一个flash视频播放器。以下是我的一些代码片段:Javascript swfobject.embeddeswf不';我什么也不做。我错过了什么?,javascript,html,flash,swfobject,externalinterface,Javascript,Html,Flash,Swfobject,Externalinterface,我正在试验使用swfObject在我的网站上嵌入一个flash视频播放器。以下是我的一些代码片段: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script> <script type="text/javascript"> if (typeof ARI == 'undefined') {
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<script type="text/javascript">
if (typeof ARI == 'undefined')
{
ARI = {};
}
ARI.InsertFlash = function()
{
var flashvars = {};
var parameters = {};
parameters.quality = 'high';
parameters.play = 'true';
parameters.LOOP = 'false';
parameters.wmode = 'transparent';
parameters.allowScriptAccess='true';
var attributes = {};
attributes.id='ARIVID';
swfobject.embedSWF("AS3MediaPlayer.swf","inlieu","720","405","9.0.0","",flashvars,parameters);
}
</script>
...
<body>
<div class='inlieu'>
<p> this will be replaced</p>
</div>
<button type='button' onclick='ARI.insertFlash();'>Insert</button>
if(typeof ARI==“未定义”)
{
ARI={};
}
ARI.InsertFlash=函数()
{
var flashvars={};
var参数={};
参数。质量=‘高’;
parameters.play='true';
parameters.LOOP='false';
parameters.wmode='transparent';
parameters.allowScriptAccess='true';
var属性={};
attributes.id='ARIVID';
swfobject.embeddeswf(“AS3MediaPlayer.swf”、“inlieu”、“720”、“405”、“9.0.0”、“flashvars、parameters”);
}
...
这将被替换
插入
这没用。“我的”按钮确实使用了正确的功能(请原谅页面上可能出现的任何html错误)。我已经用一个div测试过了。函数本身会启动,但是我的div没有被替换。我错过了什么?我想嵌入一个使用外部接口的flash对象,所以对我的问题的任何答案都会有帮助。此外,我希望在用户按下按钮时触发此命令,而不是在页面加载时触发,就像互联网上的大多数示例一样
谢谢
Ari嗯,您正在从
加载swfobject 将文件与swf/html放在同一个域中,您的问题就会消失。
除了试图窃取带宽外,你没有理由从谷歌加载,如果他们决定用新的东西更新代码库,这可能会导致版本问题。
此外,您还应该在加载时调用该函数,或者按照您所述通过单击按钮来调用该函数。您发布的代码在页面加载完成之前正在运行,来自谷歌的javascript文件可能尚未加载。
您可以通过将此代码放在嵌入语句之前来测试这一点。
alert( swfobject );
嗯,您正在从
加载swfobject 将文件与swf/html放在同一个域中,您的问题就会消失。
除了试图窃取带宽外,你没有理由从谷歌加载,如果他们决定用新的东西更新代码库,这可能会导致版本问题。
此外,您还应该在加载时调用该函数,或者按照您所述通过单击按钮来调用该函数。您发布的代码在页面加载完成之前正在运行,来自谷歌的javascript文件可能尚未加载。
您可以通过将此代码放在嵌入语句之前来测试这一点。
alert( swfobject );
SWFObject需要目标元素上的ID,您使用的是类。将
class='inlieu'
更改为id='inlieu'
另外,由于您在属性中指定了一个ID,您的新对象将具有IDARIVID
,并且不会继承IDinlieu
这个
这将被替换
插入
会变成这样吗
<body>
<object id="ARIVID" ... ></object>
<button type='button' onclick='ARI.insertFlash();'>Insert</button>
插入
SWFObject需要目标元素上的ID,因为您使用的是类。将class='inlieu'
更改为id='inlieu'
另外,由于您在属性中指定了一个ID,您的新对象将具有IDARIVID
,并且不会继承IDinlieu
这个
这将被替换
插入
会变成这样吗
<body>
<object id="ARIVID" ... ></object>
<button type='button' onclick='ARI.insertFlash();'>Insert</button>
插入
从googleapis.com加载是可以的,它不会影响任何事情。从中心位置加载lib不一定“窃取带宽”,它有很多优点。它不会导致版本问题,因为库在URL中进行了版本控制。您不需要在onLoad中调用swfobject,因为默认情况下swfobject是这样工作的。从googleapis.com加载是可以的,它不会影响任何事情。从中心位置加载lib不一定“窃取带宽”,它有很多优点。它不会导致版本问题,因为库在URL中进行了版本控制。您不需要在onLoad中调用swfobject,因为默认情况下swfobject是这样工作的。