使用键盘键导航网页(在内容脚本中)

时间:2014-07-13 06:32:47

标签: javascript php html

我想首先说我现在并不需要任何代码。最有可能的是,我只需要一个起点。

我正在尝试构建一个浏览器扩展程序(chrome),这将允许我使用键盘键来导航一个特定的页面。

此页面正在游戏中(http://www.galatium.net/Faerlyn/forest.php?view=explore) 如果你想看,你必须注册,所以我只是描述它。

它是一个3x3网格的可点击框(不是真正的按钮......)。中间的盒子是不可点击的。

游戏创建者使用JS(onClick事件)来导航该区域(交互式森林)。

我要做的是将每个框的onlick事件绑定到键盘键。

基本上我们有:

北= 8
南= 2
东= 6
西= 4
西北= 7
西南= 1个
东北地区= 9
东南亚= 3

Numpad Directions

现在通过各种研究我已经了解到我需要使用内容脚本将我的javascript注入到我希望这个工作的网页上。

问题在于每个方框都由这行代码决定:

<td bgcolor="#002900" style="cursor: pointer; background-color: rgb(0, 41, 0);" onmouseover="style.backgroundColor='#003300'" onmouseout="style.backgroundColor='#002900'" onclick="window.location='?action=move&amp;x=332&amp;y=96'">&nbsp;</td>

这条线本身并不复杂,但我已经习惯了OOP,而我并没有理解我如何引用它。

我正在考虑这样做:

说这是我的JS功能:

function DoSomething() {}

$(document).ready(function() {
    $("body").keydown(function(event) {
        if(event.keyCode == arrow.left) {
            DoSomething();
        }
    }
}

代码不包含它,但会有一个GET,它将获得当前的X和Y值,然后根据所选方向加或减一个。

因此,DoSomething()将有一个名为&#34; direction&#34;。

的参数

然后在按键事件上,我的功能将&#34;点击&#34;在与我的函数的X和Y匹配的框上。

所以,对于北方,首先我得到一个得到x = 10和y = 10的得分。然后知道我已经击中&#34; 8&#34;,它将设置x = 10和y = 10 + 1。然后该函数将找到其参数与我的函数的参数匹配的框,并且&#34;单击&#34;在它上面。

我这样做了吗? (或者有更简单的方法吗?)

〜哈姆扎

1 个答案:

答案 0 :(得分:0)

您正在使用<table> 在此表中有3 <tr> 在每个<tr>中有3个容器

为您提供13个可选目标。

使用jQuery,你可以做几件事:

您可以为每个人分配一个唯一的idclass

按键()操作/选择数字键盘上96到105的键码。您可以使用键盘映射操作。

不清楚你的行为是否会对行动做出承诺。

示例:您是否正在处理弹出到屏幕上的内容,然后您必须快速定向移动?方向键但没有提交按键。

示例2:你有一个像拼图一样的可移动价格网格,但是你需要在你选择方向之前绑定一个选择,然后取消选择以自由导航到另一个重新选择...移动...取消选择...移动。 ..select。

示例3:您需要在示例2中执行操作,但您必须更换磁贴并记住您的起始位置以填充已删除的peice。所以零件改变了位置。意味着你被赋予了一组无法摧毁的作品。他们只能改变立场。

使用按键和键映射以及唯一的ID或类以及选择/取消选择,您可以绑定一组事物,但您需要确定事件的最终结果。

如果你不能在表上使用唯一的id或class,你可以使用parent,sibling,child jQuery选择器。

下一篇:<td>内的内容是什么?它是图像还是背景颜色?您可以指定引用图像或颜色的css类/ id。这样你就可以找到你的辅助选择器来移动,移除,保持或销毁,追加。

您可以使用指定的class / id或parent,sibling,child来获取容器标记的内容。从那里你必须自己回答你想要做什么...最终结果。一个人如何赢或输。