【问题标题】:Blocking websites on a web app using javascript使用 javascript 在 Web 应用程序上阻止网站
【发布时间】:2018-09-13 06:46:31
【问题描述】:

我目前正在开发一个网络应用程序,它允许用户添加他们想要阻止的网站列表,即阻止他们从浏览器访问该网站。

理想情况下,我希望能够在 每个 浏览器上阻止网站,但这很困难,所以我现在将研究范围缩小到 Chrome。我遇到了chrome.webRequest api,它看起来很有希望,但它专门说它用于 chrome 扩展,我不确定它是否适用于我的网络应用程序。

谁能指出我在网络应用程序上阻止网站的正确方向,最好使用 javascript。非常感谢任何帮助!

编辑

1) 我忘了提到我正在使用 Firebase 作为我的后端。

2)人们一直在说我不能阻止网络应用程序范围之外的网站,如果我改为使用电子使网络应用程序成为桌面应用程序,那可能吗?

【问题讨论】:

  • 你所说的“阻止”是什么意思?阻止XMLHttpRequests 还是什么?
  • 阻止他们访问该网站 :) 感谢您的回复顺便说一句!
  • Web 应用程序无法阻止超出其范围/站点的任何内容。您需要编写浏览器扩展程序。扩展可以使用 webRequest API。
  • 如果我将网络应用程序改为桌面应用程序,例如通过使用电子,我可以阻止网站吗?
  • @andrewdao 我在做同一个项目时需要你的帮助

标签: javascript jquery html google-chrome-extension web-applications


【解决方案1】:

首先,您有一个包含被阻止网站 URL 的数据库。 URL 是使用您的网络应用程序修改的。那是一部分。现在你的问题是如何让浏览器与你的数据库一起工作。

您与浏览器共享被阻止 URL 的唯一可能方式是通过 API。您必须拥有可以在您的网络应用程序之外进行通信的 API。

现在,chrome/firefox 等浏览器赋予用户在dom 内外进行更改的能力。对于 chrome,您有 chrome 扩展,其中 Google 提供 API,因此用户可以操作常规操作之外的操作,例如操作 dom。我可以举一个与您的主题密切相关的示例,这是用户在搜索框上输入 URL 之前/之后激活的操作,为此,我们使用来自 https://developer.chrome.com/extensions/webRequest 的以下 API

Firefox 也是如此。

【讨论】:

  • 但是我可以将 chrome API 用于 Web 应用程序吗?还是我的应用程序必须是扩展程序?
  • 它必须是扩展,否则您的应用将如何与浏览器操作连接。实际上,我就是这样制作的。我使用 urlcrazy 来获取假网址,然后我的扩展程序进行了检查和重定向部分
  • 不,electron 帮不了你。
猜你喜欢
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
  • 2019-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
相关资源
最近更新 更多