【问题标题】:Switching a Flash Video player's color scheme based on set cookie根据设置的 cookie 切换 Flash 视频播放器的配色方案
【发布时间】:2011-05-03 14:56:04
【问题描述】:

大家好,我已经建立并运行了一个允许用户选择深色或浅色方案的网站,这要感谢 stackoverflow 的早期帮助。

但在项目详细信息页面上,有些 Flash 视频也会根据选择的配色方案而略有变化。

页面示例如下: http://centerline.net/projects/detail/?p=84

如果您开始播放视频并更改配色方案,Flash 播放器将更改为正确的颜色,但在刷新时,它不会记住该更改。如何修改下面的代码,以便 Flash 播放器读取正确的配色方案并采取行动?

相关代码在这里(完整的 JS 文件在这里:http://www.centerline.net/lib/js/site-unmin.js):

//Switches color of Flash Video player on detail pages
function updateColor(color) {
//alert("called");
    var vidPlayers = document.getElementsByName("StageVideoPlayer");
    for(var i=0;i<vidPlayers.length;i++) {
        var player = vidPlayers[i];
        player.changePlayerColor(color);
    }
}  



//Swaps out style sheets for different designs. Sets cookie to remember user's design preference.
if($.cookie("css")) {       
    $("link").attr("href",$.cookie("css"));

}else if($.cookie("cssSession")) {
    $("link").attr("href",$.cookie("cssSession"));

}else{

    var rand = Math.floor(Math.random()*2)

    if (rand > 0) {

       $("link").attr("href","/lib/css/common-dark.css");
       $.cookie("cssSessionColor","dark", {expires:null, path: '/'});
       $.cookie("cssSession","/lib/css/common-dark.css", {expires:null, path: '/'});


    }else{

       $("link").attr("href","/lib/css/common.css");
       $.cookie("cssSessionColor","light", {expires:null, path: '/'});
       $.cookie("cssSession","/lib/css/common.css", {expires:null, path: '/'});

    };
}



window.onLoad = function(){
    updateColor($.cookie("cssSessionColor"));
}

【问题讨论】:

    标签: javascript jquery css flash cookies


    【解决方案1】:

    我的猜测是 window.onLoad 事件在视频播放器准备好接收 ExternalInterface 调用或注册回调之前发生。我建议听播放器在 Flash 中加载,检查 ExternalInterface 是否可用,然后调用返回 cookie 信息的 JS 函数。

    【讨论】:

    • 我会让我们的 Flash 开发人员尝试一下。谢谢。
    猜你喜欢
    • 2021-09-17
    • 2011-05-31
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 2013-01-18
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多