为什么javascript会在我的索尼爱立信C510浏览器上运行,而不是javascript + jquery?

时间:2010-07-06 23:18:05

标签: javascript jquery mobile

我可以将以下.htm文件复制到我的索尼爱立信C510并且鼠标悬停工作:

<script type="text/javascript">
    <!--
    if (document.images) {
        front = new Image
        back = new Image

        front.src = "front.png"
        back.src = "back.png"
    }
    function swapImage(thisImage,newImage) {
        if (document.images) {
            document[thisImage].src = eval(newImage + ".src")
        }
    }
    -->
</script>
<img onMouseOver="swapImage('test','back')"
onMouseOut="swapImage('test','front')"
 src="front.png"
    border="0"
    name="test">

但我不能让任何jquery工作,例如单击链接时,以下示例不响应。我知道jquery-1.4.2.min.js文件存在于正确的位置,因为我复制了目录中的所有文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <script type="text/javascript" src="javascript/jquery-1.4.2.min.js"></script>
    <script type="text/javascript">
            $(document).ready(function() {
            $("div > div.question").click(function() {
                if($(this).next().is(':hidden')) {
                $(this).next().show();
                } else {
                $(this).next().hide();
                }
            });    
            });

        </script>
        <style>
            div.flashcard {
                margin: 0 10px 10px 0;
            }
            div.flashcard div.question {
                background-color:#ddd;
                width: 400px;        
                padding: 5px;    
                cursor: hand;    
                cursor: pointer;
            }
            div.flashcard div.answer {
                background-color:#eee;
                width: 400px;
                padding: 5px;    
                display: none;        
            }
        </style>
    </head>

<body>
    <div id="1" class="flashcard">
    <div class="question">Who was Wagner?</div>
    <div class="answer">German composer, conductor, theatre director and essayist, primarily known for his operas (or "music dramas", as they were later called). Unlike most other opera composers, Wagner wrote both the music and libretto for every one of his works.</div>
    </div>

    <div id="2" class="flashcard">
    <div class="question">Who was Thalberg?</div>
    <div class="answer">a composer and one of the most distinguished virtuoso pianists of the 19th century.</div>
    </div>
</body>
</html>

如何使用jquery在我的索尼爱立信C510浏览器中使用普通的javascript?

加了:

根据rchern的建议,我尝试了这个:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <script type="text/javascript" src="javascript/jquery-1.4.2.min.js"></script>
    <script type="text/javascript">
            $(document).ready(function() { 
                $('#test').css("background-color","lightgreen");
                alert("hi from jQuery"); 
            });

        </script>
    </head>

<body>
<p>test from html</p>

<p id="test">jquery should turn this green</p>

</body>
</html>

在桌面上的firefox中,它显示弹出窗口并将线条变为绿色,但在手机上jquery似乎没有效果,只显示文本。

2 个答案:

答案 0 :(得分:5)

C510浏览器为NetFront 3.4。

这绝对来自旧的浏览器,在供应商认为提供有关支持的内容或调试工具的文档之前是有用的。使用NetFront,就像其他较旧的移动浏览器一样,你真的必须逐步增加测试功能,因为我们今天认为基本的JavaScript(从不介意DOM)的一些东西被打破了,当出现问题时,你几乎没有能力弄清楚它是什么。

jQuery是一个复杂的野兽,它对JS和DOM允许的内容有一些自由。在目前的智能手机(WinMo 6.1.4 +,iPhone,Android等)之前,我不希望它能在移动浏览器上运行。遗憾。

答案 1 :(得分:1)

并非所有移动设备都支持jQuery。我已经能够在iPhone,iPod Touch,大多数Android手机,Palm Pre和-i think-Blackberry上使用它。

John Resig正在开发移动版本,请查看 http://groups.google.com/group/jquery-dev/browse_thread/thread/6d0f9da66581d9ca/819ff599f546ec65?lnk=raot&pli=1