IE userData行为在Windows Phone 7的IE浏览器中无法工作。

3

我无法在WP7上的IE浏览器中运行userData behavior。(注意:这是指WP7中原始的IE7版本,而不是随Mango更新而来的IE9版本。)有人知道这是否是一个错误,还是该行为根本没有被实现或启用?更好的方法是提供解决方案...我还没有找到。

最小测试案例:

<!doctype html>
<html>
    <head>
        <style>
            #store {
                behavior:url('#default#userData');
                display:none;
            }
        </style>
    </head>
    <body>
        <div id="store"></div>
        <h1>IE userData behavior test
        <script>
            var storageElement = document.getElementById("store");
            storageElement.setAttribute('monkey', 'fez');
            try {
                storageElement.save('storagetest');
                alert('Saved some data with the storage Element!'); // IE 7,8,9
            } catch(e) {
                alert("Failed to save data with the storage Element."); // IE on WP7
            }
        </script>
    </body>
</html>

(http://jsbin.com/urepoq/edit)

1个回答

2
我的第一个想法是尝试使用-ms-前缀,例如-ms-behavior。然而,我相当确定Windows Phone 7上的IE7 / IE8混合浏览器根本不支持任何行为。除了我尝试过但不起作用的少数情况和VML(也实现为行为)不被支持的知识之外,我无法找到可靠的确认信息。
正如OP发现的那样,在Designing Web Sites for Mobile Phones的最后一节中指出:

Unsupported Plugins

与桌面浏览器不同,Internet Explorer Mobile不允许终端用户下载或安装第三方插件,例如ActiveX控件。网页不应提示用户下载插件。此外,Internet Explorer Mobile不支持DHTML或二进制行为。

因此,看起来你运气不太好。

很烦人的是,在WP7上关于IE的信息很难找到。我希望微软在IE9/WP7发布时能提供更多的支持信息。 - Martin Sutherland
@Martin:至少那样你可能能够使用localStorage - Andy E
1
IE Mobile不支持HTML5 localStorage。 - Martin Sutherland
该IE团队的文档《为手机浏览器设计网站》的最后一句话(PDF链接在此:link)说:“此外,Internet Explorer Mobile不支持DHTML或二进制行为。”这似乎非常明确。糟糕。 - Martin Sutherland
@Martin:我的意思是WP7上的IE9应该支持localStorage,我并不是指当前的浏览器。我会把你的权威语录加入到我的答案中,以使其同样具有权威性 :-) - Andy E
是的,我知道IE9会;不幸的是,现在WP7上的IE7是唯一的选择。(除非你是那些有Mango测试版权限的幸运儿。)我会更新我的问题,以使它更清楚地询问WP7的特定情况。 :-) - Martin Sutherland

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接