【问题标题】:javascript are not working on Google chromejavascript 不适用于谷歌浏览器
【发布时间】:2012-09-19 15:16:09
【问题描述】:

在 Codeigniter 上我有一个代码

HTML

//ROOTPATH is the constant Path and $recordId is coming from a loop.

<a href="#" onclick="windowRedirect('<?php echo ROOTPATH; ?>&action=deleteRecord&id=<?php echo $recordId; ?>','Are you sure you want to Delete');return false;">Delete</a>

Javascript

windowRedirect(url,msg)
{
  if(confirm(msg)) 
  { 
    window.location.href = url;
  }
  else
  {
   return false;
  }
}

我编写了一个简单的 javascript,如果用户单击 OK 按钮,它将重定向 url,但我在 Google chrome 上遇到了奇怪的问题,该代码在 Mozila Firefox、IE 8/9 和 Applae Safari 上完美运行。谁能告诉我如何解决这个谷歌浏览器问题。

虽然我怀疑这个脚本可能因为 href 字段上的“#”而无法正常工作,但我不确定。

【问题讨论】:

  • ROOTPATH 是不必要的。 CodeIgniter 带有site_url() 此外,如果您将site_url() 与&lt;base&gt; HTML 标签一起使用,您也不必使用site_url()。
  • 是的,chrome 中的“奇怪问题”是什么。
  • 如果用户确认操作,您可能会返回undefined。
  • 其实我用的是base_url()...我只是用ROOTPATH举例。
  • 从页面中粘贴您的 html

标签: php javascript html codeigniter google-chrome


【解决方案1】:

这是一个工作示例:

<html>
</head>
<script>
function window_redirect(url,msg)
{

  if(confirm(msg))
  { 
    window.location = url;
  }
  else
  {
   return false;
  }

}
</script>
</head>
<body>

<a onclick="window_redirect('http://www.google.com','Are you sure you want to Delete');" href="#" >Delete</a>

</body>
</html>

你忘了在函数之前调用状态'function',如果你把onclick放在一个元素(链接)上,总是把它放在href="#"之前,如果不是这样的话,一些浏览器不会调用onclick。

【讨论】:

  • 您使用的是什么版本的谷歌浏览器?给我渲染的代码,可能是php部分搞砸了。
  • 没有弹出窗口仅出现在 Google Chrome 版本 22.0.1229.79 我不认为 php 有任何问题,因为确认弹出窗口将出现在 Mozila Firefox、IE 8/9 和 Apple苹果浏览器。我不知道,但只有谷歌浏览器没有弹出窗口。
  • 它在 Chrome v21 上运行。也许您禁用了弹出窗口/警报?尝试弹出警报,看看是否有效..
猜你喜欢
  • 2018-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-03
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多