jQuery属性 - 问题

时间:2010-04-28 08:24:48

标签: javascript jquery

我使用此插件:jQuery.i18n.properties

我把这段代码:

/* Do stuff when the DOM is ready */
    jQuery(document).ready(loadMessage);

    /*
     * Add elements behaviours.
     */
    function loadMessage() {
        jQuery("#customMessage").html("test");
        jQuery.i18n.properties({
            name:'up_mail_messages',
            path:'https://static.unifiedpost.com/apps/myup/customer/upmail/upmail_messages/',
            mode:'both',
            language:'en',
            callback: function() {
                var messageKey = 'up.mail.test';
                //alert(eval(messageKey));
                jQuery('#customMessage').html(jQuery.i18n.prop(messageKey));
            }
        });
    }

我不明白为什么,在customeMessage div中打印出来:

[up.mail.test]

而不是它的值:

  

up.mail.test = 从en

加载的消息

有人能告诉我我错在哪里吗?我花了大约两个小时就没有找到任何线索......

非常感谢。

Ps:这是消息文件:https://static.unifiedpost.com/apps/myup/customer/upmail/upmail_messages/up_mail_messages_en.properties

编辑:在本地测试后,一切正常。但是如果消息文件位于另一个主机上(如上例所示),它似乎失败了...如果有人能证实这一点会很好......

编辑1:它不起作用,因为在js脚本中有一个ajax调用来读取消息文件。好吧,正如您可能知道的那样,由于浏览器的限制,在ajax中禁止跨域XMLHttpRequest调用。

2 个答案:

答案 0 :(得分:0)

我可以麻烦你,并怀疑我的怀疑吗?

将第一行替换为:

$(document).ready(function() {loadMessage()});

另外,我注意到https://static.unifiedpost.com/apps/myup/customer/upmail/upmail_messages/up_mail_messages.properties返回404错误,而en版本运行良好。这是故意的吗?

答案 1 :(得分:0)

我不知道你的服务器返回是什么,所以在php中我只是回应这样的事情:

$arg = 'up.mail.test=messages loaded from en';
exit($arg);

然后是js:

.......
callback: function() {
    var messageKey = up.mail.test;
    //alert(eval(messageKey));
   jQuery('#customMessage').html(jQuery.i18n.prop(messageKey));
}

我得到了这个:[messages loaded from en]。这就是你想要的吗?