【问题标题】:window.addEventListener("load",function(){}); does not workwindow.addEventListener("加载",function(){});不工作
【发布时间】:2013-08-22 13:44:21
【问题描述】:

我正在努力解决一个应该不会太难的奇怪问题。在单击的每个新链接上,我希望 JS 在 URL 上附加一个字符串。像name=MYNAME 这样的东西。不幸的是,它不起作用。该事件根本不会被触发。为什么?

我也尝试过使用window.onload = myFunction;,但它会无数次地刷新我的网址。

非常感谢!

【问题讨论】:

  • 如果你通过设置location.href来改变URL,那么页面会不断刷新,这是不可避免的。
  • 我可以以其他方式更改它或阻止它刷新吗?

标签: javascript url parameters onload


【解决方案1】:

你在用 JQuery 吗?

<a href="http://www.google.co.uk">Money?</a>

$(function(){
    // opens a new window to do a Google search for MONEY!!
    $("a").click(function(){
        window.open($(this).attr("href") + "/search?q=is+there+money+in+the+banana+stand");
    });
});

如果您不想要新窗口,请将 window.open 更改为 window.location = $(this).attr...etc

【讨论】:

  • 我怎么这么瞎?! O:谢谢[:
  • 我按你说的试过了,但没有输入新参数
【解决方案2】:

我刚刚解决了我自己的问题。希望我的解决方案对仍在寻找解决方案的人有所帮助!

<script type="text/javascript">
$(document).ready(function(){
    $("a").click(function(){
        var href = $(this).attr("href");

        var character = "";
        if (href.indexOf("?") != -1) {
            character = "&";
        } else {
            character = "?";
        }

        var additionalParams = "name=<?php echo $_GET['name']; ?>&qwer=<?php echo $_GET['qwer']; ?>";

        var url = href + character + additionalParams;
        $(this).attr("href",url);
    });
});
</script>

我只是从选定的&lt;a&gt; 字段中解析出URL,编辑了url with my parameters 并将其放回href-attribute

你去吧,在所有浏览器中都像魅力一样工作。

【讨论】:

    【解决方案3】:

    纯JAVASCRIPT

    <script type="text/javascript">
    window.onload = function() {
    
    //// WORK JS EXAMPLE
    
    };
    </script>
    

    JQUERY

    <script>
    jQuery(document).ready(function() {
    
    //// WORK JS EXAMPLE
    
    });
    </script>
    

    【讨论】:

      猜你喜欢
      • 2021-06-03
      • 2020-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多