如何使用externalInterface让Flash调用javascript来更新屏幕上的值?
我有一个嵌入 PHP 页面的 Flash 影片。 PHP 页面向用户显示一个值(他们已上传的图像数量)。当用户上传新图像时,我希望 PHP 页面上的值反映更改而不刷新页面。
该值是使用 MySQL 从数据库中检索的。所以这就是我到目前为止所做的 -
在我想要显示值的 PHP 页面上,我有一个 div
<div id="content_info"><script type="text/javascript" src="getInfo.php?group= <?php echo($groupid); ?> "></script></div>
这调用了一个外部 PHP 文件,该文件查询数据库并输出这样的结果
Header("content-type: application/x-javascript");
//do the query with PHP and get $number and then output
echo "document.write(\" (".$number.")\")";
当页面第一次加载正确的数字时显示在 div 中,所以一切正常。下一步是在值更改时调用某些内容来更新此 div 的内容。因此,我将在 flash 中设置 externalInterface 来调用 javascript 函数来执行此操作。
这就是我陷入困境的地方,我希望能够做这样的事情 -
function ReplaceContentInContainer(id) {
var container = document.getElementById(id);
container.innerHTML = getInfo.php?type=new&group= <?php echo($groupid) ?>;
}
并通过
ReplaceContentInContainer(content_info)
我意识到这不会起作用,但有人可以告诉我如何得到这个结果吗?
非常感谢
I have a Flash movie that is embeded in a PHP page. The PHP page displays a value to the user (the number of images they have uploaded). When the user uploads a new image I want the value on the PHP page to reflect the change without refreshing the page.
This value is retrieved from database using MySQL. So heres what Ive done so far -
On the PHP page where I want to show the value I have a div
<div id="content_info"><script type="text/javascript" src="getInfo.php?group= <?php echo($groupid); ?> "></script></div>
This calls an external PHP file that queries the database and outputs the result like this
Header("content-type: application/x-javascript");
//do the query with PHP and get $number and then output
echo "document.write(\" (".$number.")\")";
When the page loads for the first time the correct number shows in the div and so all works fine. The next step is to call something to update the contents of this div when the value changes. So I will set up externalInterface in flash to call a javascript function to do this.
This is where Im stuck, I want to be able to do something like this -
function ReplaceContentInContainer(id) {
var container = document.getElementById(id);
container.innerHTML = getInfo.php?type=new&group= <?php echo($groupid) ?>;
}
and call this by
ReplaceContentInContainer(content_info)
I realise this isnt going to work but can anyone show me how to get this result?
many thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
group=
仅当 PHP 创建页面时才会执行。您应该将该值存储在 javascript 的变量中。看看这是否有效。现在您可以使用 flash 的
URLLoader
:group= <?php echo($groupid); ?>
will be executed only when PHP creates the page. You should store that value inside a variable in the javascript. See if this works.Now you can use flash's
URLLoader
: