【问题标题】:OnClick event - Run php script over ajax in MozillaOnClick 事件 - 在 Mozilla 中通过 ajax 运行 php 脚本
【发布时间】:2013-04-02 09:01:13
【问题描述】:

我解决了一个仅在 Mozilla 的一项更新中出现的问题。我在 jQuery 中有一个程序,它记录点击元素 div#region。点击运行php脚本,点击保存在数据库中。但是如果这个div链接点击的话,虽然php脚本记录点击使用$.get调用,但是并没有启动。这就是它在 Mozilla 中的行为方式,在任何其他浏览器中我都没有看到过这种行为。如果你可以在 Firebug 中查看调用 php 脚本。

这是安全、优化还是其他方面的标准行为?或者这是 Mozilla 的错误还是代码写得不好??

HTML:

<div id="region">
<p>nejaky text</p>
<a href="http://www.test.cz" target="_blank">click</a>
</div>

JAVASCRIPT

$(document).ready(function(){
$("#region").click(function(){
$.get('/ajax/add_click.php?id=5');
});
});
});

我在互联网上找不到解决方案。谢谢。

【问题讨论】:

    标签: php ajax onclick mozilla


    【解决方案1】:

    试着像这样改变

    <div id="region">
       <p>nejaky text</p>
       <a href="http://www.test.cz" target="_blank">click</a>
    </div>
    

    你的 jquery 将是

    $(document).ready(function(){
       $("#region").click(function(e){
           e.preventDefault();         //Add preventDefault here
           window.open($(this + 'a').attr('href'));
           $.get('/ajax/add_click.php?id=5');
        });
    });
    

    【讨论】:

    • 我需要调用脚本 add_click.php 并在 Mozilla 的新面板中并行打开站点 www.test.cz。如果我添加 a.preventDefault(),则页面 www.test.cz 未打开。
    • 我需要记录整个区域的点击。不仅在链接上。
    • 是的尝试过,但它不会像我预期的那样工作。请参阅之前的评论。
    【解决方案2】:

    您是否在本地文件系统上进行了测试?当我在本地尝试您的代码时,我也没有看到任何事情发生,但是在远程服务器上它确实对我有用。

    【讨论】:

    • 是的。我在我的本地主机上测试。点击区域 div#region 后打开新页面 www.test.cz。没关系。在 firebug 中,我看到名为 add_click.php 的脚本,但在 Firebug 的时间线上,我看到脚本没有启动 add_click。为什么会这样?
    • 在每个浏览器中都能正常工作,只是在 Mozilla 中不行。它在升级 Mozilla 之一后停止工作。
    • 对于本地文件系统,我的意思是您通过例如“file:///C:/filename.php”访问文件,但我假设您只是使用了“localhost/filename.php”。也许某些附加组件会导致冲突。但是您是否检查了是否可以通过使用回调函数从服务器获取任何数据?
    • 是的,要启用脚本访问,从与html文件相同的目录运行。 php脚本不返回。脚本不返回任何数据。
    • 你是对的,它看起来阻止了一些插件。非常感谢
    猜你喜欢
    • 1970-01-01
    • 2015-06-26
    • 2017-03-28
    • 2021-06-04
    • 2011-07-27
    • 2019-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多