Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript swfobject.embeddeswf不';我什么也不做。我错过了什么?_Javascript_Html_Flash_Swfobject_Externalinterface - Fatal编程技术网

Javascript swfobject.embeddeswf不';我什么也不做。我错过了什么?

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') {

我正在试验使用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')
{
     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,您的新对象将具有ID
ARIVID
,并且不会继承ID
inlieu

这个


这将被替换

插入
会变成这样吗

<body>
<object id="ARIVID" ... ></object>
<button type='button' onclick='ARI.insertFlash();'>Insert</button>

插入

SWFObject需要目标元素上的ID,因为您使用的是类。将
class='inlieu'
更改为
id='inlieu'

另外,由于您在属性中指定了一个ID,您的新对象将具有ID
ARIVID
,并且不会继承ID
inlieu

这个


这将被替换

插入
会变成这样吗

<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是这样工作的。