如何从iWebkit自动触发弹出对话框?

时间:2010-01-03 07:43:33

标签: javascript css iphone

我正在使用 iWebkit (花哨的css / javascript为iphone / ipod触摸网站/ webapps制作界面,为我的学校创建一个小的iphone webapp。

有一个名为弹出窗口的功能,可以模拟重置所有设置(即确认弹出窗口)时iPhone上设置的弹出窗口。

如何在显示HTML页面时使弹出窗口显示为自动 - 而不是必须单击每个用户指南示例的链接? (第22页)。我已经尝试在body标签甚至标头标签上进行onload,但它不起作用。

我不想使用javascript警报,因为它不性感。

根据Doug的建议,这就是代码目前的样子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

                             

<title>Popup Test</title>

<script src="javascript/functions.js" type="text/javascript"></script>

<script type="text/javascript">
    document.addEventListener('load', function(){
    window.setTimeout(function(){
    iWebkit.popup('popup1'); // Adjust this line to have the correct popup id
    }, 5000); // This is in milliseconds. Keep the number as low as possible so it still works
    }, false);
</script>

123              你确定你要这么做吗?             停止服务器             取消     

5 个答案:

答案 0 :(得分:1)

好吧,首先你正在使用的库(iWebkit)通过将整个onload事件带到自身而不是使用正确的addEventListener函数将自身附加到onload来做“坏事”功能

onload是放置它的合适位置,但以下是您需要在页面加载时调用弹出窗口的方法(在script src='/js/functions.js'行之后添加此内容)

<script type="text/javascript">
  window.addEventListener('load', function(){
     iWebkit.popup('foodpopup'); // Adjust this line to have the correct popup id
  }, false);
</script>

如果这不起作用,可能是因为你的函数和它们的onload内容同时运行。然后你可以试试这个:

<script type="text/javascript">
  window.addEventListener('load', function(){
     window.setTimeout(function(){
        iWebkit.popup('foodpopup'); // Adjust this line to have the correct popup id
     }, 300); // This is in milliseconds. Keep the number as low as possible so it still works
  }, false);
</script>

答案 1 :(得分:0)

您是否尝试过onload活动?

答案 2 :(得分:0)

您是否尝试过Javascript警报?在iPhone上,它显示了一个很好的原生UI风格。

答案 3 :(得分:0)

试试这个::

<script type="text/javascript"> 
window.onload = function() {
            document.addEventListener('load', function(){  
    window.setTimeout(function(){  
    iWebkit.popup('popup1'); // Adjust this line to have the correct popup id  
    }, 100); // This is in milliseconds. Keep the number as low as possible so it still works  
    }, false);      
            }
</script>

答案 4 :(得分:0)

这是来自iWebkit论坛的同一个问题吗?如果没有,请查看http://community.iwebkit.net/viewtopic.php?f=17&t=503:)