我一直在尝试创建这个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。我主要想知道是否有其他方法可以做到这一点,或者我是否遗漏了什么。
答案 0 :(得分:-1)
这将对您有所帮助:
将jQuery放到您的<head>
或页面末尾,但在您的代码之前。
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
然后重写您的代码以使用keypress
事件:
$(document).ready(function() {
$('#url').keypress(function() {
$('.target').attr('href', this.value)
})
});
仅供参考:当您更改输入值并将焦点设置为焦点时,将发生change
事件。因此,如果您键入网址并将鼠标光标放在链接上并按下它,则change
事件将在您点击后触发。所以要小心这些事件。
<强>更新: 我刚刚看到你正在为GC做扩展。 最佳实践告诉我们按层次划分目标。 HTML和JS应该分开。
在manifest.json
中,您必须添加
"js": ["jquery.js", "content_script.js"]
将JavaScript逻辑从HTML文件移动到content_script.js。