代码清除页面而不是转到新站点

时间:2014-05-12 14:34:21

标签: javascript jquery html google-chrome-extension

我一直在尝试创建这个Chrome扩展程序,您输入一个地址并单击一个按钮就可以了。这可能听起来像一个愚蠢的想法,但不知何故,Chrome扩展程序绕过了网站上的服务器块。这是我目前的代码:

<html>
  <head>
    <title>Website Opener</title>
   <style type="text/css">
    body 
    {
  font-family: "Lucida Grande";
      height: 100%;
    }
   </style>
   <script>
      $(document).ready(function() {
      $('#url').change(function() {
        var newurl = $('#url').val();
        $('a.target').attr('href', newurl);
      });
      });
   </script>
  </head>
  <body>
    <form>
      <input type="text" id='url' value='http://'>
      <br>
      <p><a class="target" href="">Go!</a></p>
    </form>
  </body>
</html>

目前的做法是将页面留空或清除输入框而不是转到新网站。

我尝试过javascript .open()方法,这是尝试jQuery。我主要想知道是否有其他方法可以做到这一点,或者我是否遗漏了什么。

1 个答案:

答案 0 :(得分:-1)

这将对您有所帮助:

  1. 将jQuery放到您的<head>或页面末尾,但在您的代码之前。

    <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
    
  2. 然后重写您的代码以使用keypress事件:

    $(document).ready(function() {
        $('#url').keypress(function() {
            $('.target').attr('href', this.value)
        })
    });
    
  3. 仅供参考:当您更改输入值并将焦点设置为焦点时,将发生change事件。因此,如果您键入网址并将鼠标光标放在链接上并按下它,则change事件将在您点击后触发。所以要小心这些事件。

    <强>更新: 我刚刚看到你正在为GC做扩展。 最佳实践告诉我们按层次划分目标。 HTML和JS应该分开。

    manifest.json中,您必须添加

    "js": ["jquery.js", "content_script.js"]
    

    将JavaScript逻辑从HTML文件移动到content_script.js。