javascript - 跟踪地址栏中输入的单词

标签 javascript jquery html url

我需要跟踪按下的按键,因为这是一个实验,其中键入输入很重要。 我用它来跟踪所有按下的键

function keypress(e)
{
   if (!e) e= event;
   var focused = document.activeElement;
   var a = String.fromCharCode(e.keycode);
}

function init()
{
    if (document.addEventListener)
    {
       document.addEventListener("keypress",keypress,false);
    }
    else if (document.attachEvent)
    {
       document.attachEvent("onkeypress", keypress);
    }
    else
    {
       document.onkeypress= keypress;
    }
}

function suppressdefault(e)
{
       if (e.preventDefault) e.preventDefault();
       if (e.stopPropagation) e.stopPropagation();
}
</script>

它工作得很好,但是如果用户在地址栏(写入 URL 的地方)写了一些东西,它不会跟踪这些字符。

我一直想知道,有什么方法可以跟踪这些 key 类型吗?如果没有,有什么方法可以阻止用户在方向栏上写任何东西吗?

最佳答案

你的意思是这个,对吗?

该栏不是网页的一部分,网页只能监听发送到网页的击键。所以你无法(无论如何你不应该能够)检测或停止这些击键。

但是您可以打开一个没有地址栏的窗口。 https://developer.mozilla.org/en-US/docs/Web/API/Window.open

window.open('http://www.example.com/', '_blank', 'location=no');

演示:http://jsbin.com/fisehihila/1/

在现代桌面浏览器中,它们实际上确实显示地址栏以防止网络钓鱼,但它不可编辑。

这里它在 Windows 7 上的 Firefox 发布 channel 中显示为灰色。您可以选择它,但无法输入它。

不过,在移动浏览器中,摆弄这些窗口功能的选项的支持有限。

关于javascript - 跟踪地址栏中输入的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549569/

相关文章:

javascript - 使用 JSON 中的方法创建 JS 对象

javascript - 电子邮件输入中 HTML5 输入模式中的正则表达式无效

javascript - JQuery - 此语法的目的是什么 $(function () { ... });

javascript - 在 IE11 中通过 JS 在运行时覆盖 URL

html - 如何将 fontawesome 安装到 meanjs 元素

javascript - JSX css 到内联样式

javascript - RequireJS 不包含必需的对象

javascript - 使用 $().load() 从 Servlet 加载 html

php - 从数组中提取值(php 或 jquery)

html - CSS - 继承