ここには、Blackberryで動作しない(もっと大きなコードからの)コードスニペットがあります。私はul要素を動的に挿入するためにDOMを操作しています。Blackberryの携帯電話でJavaScriptを使用してDOMを操作する
私はBlackberry 9700、OS 5.0でテストしています。私がやっていることは、非常に基本的なものであり、他のデスクトップブラウザでもうまく動作しません。私はブラックベリーでのJavaScriptサポートがばかげていることを知っている - しかし、この基本的なものは?
添付されているエラーのスクリーンショットが添付されています。 JavaScriptは、関数insertBeforeが存在しないことを報告します。しかし、私は身体
document.body.insertBefore(newNode, sibling);
動作しないコードに直接追加する場合、それが存在していて、動作することをテストしている:私はこれがあることを確認
<html>
<head>
<script type="text/javascript">
function toggle(){
_ul = document.getElementById('ul-list');
if(_ul)
{
document.body.removeChild(_ul);
}else
{
ul = document.createElement("ul");
ul.setAttribute('id','ul-list');
li = document.createElement('li');
li.appendChild(document.createTextNode("HTML"));
ul.appendChild(li);
li = document.createElement('li');
li.appendChild(document.createTextNode("CSS"));
ul.appendChild(li);
li = document.createElement('li');
li.appendChild(document.createTextNode("JavaScript"));
ul.appendChild(li);
li = document.createElement('li');
li.appendChild(document.createTextNode("XML"));
ul.appendChild(li);
parent = document.getElementById('container');
sibling = document.getElementById('para');
try
{
func = parent.insertBefore;
if(!func)
{
alert("Function doesn't exist!");
}
parent.insertBefore(ul, sibling);
}catch(err)
{
alert(err);
}
}
}
</script>
<style type="text/css">
</style>
</head>
<body>
<div id ="container">
<p id ="para" >Display this link list as a horizontal menu:</p>
<input type="button" name="Show Now!" value ="Toggle" onClick=" toggle();"/>
</div>
</body>
</html>