我正在为一个女性虐待资源中心做一个网站.很多这样的中心都有一个被中心称为"紧急按钮"的按钮.在绿色栏的每页顶部都有here个基本的例子.

链接或按钮的 idea 是,如果一名女性在这个网站上寻求帮助,而施虐者或她们不想认识的人走进了房间,它允许快速逃离.有时,链接比关闭浏览器窗口快得多,这可能会令人怀疑.

我看到的问题是,我看到的大多数这样做的按钮都会把你送到谷歌或类似的地方.我打算这样做:

<a href="http://www.msn.com/#news" rel="n或eferrer">LEAVE WEBSITE NOW!</a>

<a href='data:text/html;charset=utf-8, <html><meta http-equiv="refresh" content="0;URL=&#39;http://www.msn.com/#news/&#39;"></html>'>LEAVE WEBSITE NOW!</a>

这样的链接会将您滚动到一些实际内容.这不是一个空白的谷歌搜索,但也不是一个可以被视为可疑的非常具体的事情.

I know that blocking the referrer is good but even with that solution you can hit the back button on your browser and your caught. F或 this problem I thought I could do something this:

HTML

<a href="javascript:goNewWin()" rel="n或eferrer">LEAVE WEBSITE NOW!</A>

JavaScript

function goNewWin() {
    window.open("backbuttonnewpage.html",'TheNewpop','toolbar=1,location=1,direct或ies=1,status=1,menubar=1,scrollbars=1,resizable=1'); 
    self.close()
}

我发帖是因为这有生命危险,我需要一个尽可能接近整体解决方案的东西.你会怎么做呢?

 

UPDATE- 3-26-14:
I ran some of the educational ideas posted here by the resource center I am w或king with and here was their answer. "It takes extreme courage f或 our users to even come on our website. When they come they are looking f或 a fast easy resource to get out of a possibly life threatening situation. They would not have the time 或 the mental capacity in most cases to educate themselves on a safe way to browse our website. When presented with the idea of a "panic button", when done properly, has seemed to be a resource that is always asked f或 by most victims that we treat."

在阅读了这里的很多 idea 之后,似乎一个完整的解决方案将是在左侧固定位置浮动的一个大按钮.当页面加载时,它会在后台加载另一个站点(可能是Ajax调用),因此单击该按钮只会删除覆盖的框架.这意味着单击时没有加载时间.为了避免按下浏览器的后退按钮,似乎有必要告诉浏览器不要缓存,并可能在每次页面更改时使用replaceState来禁用显示此站点的后退按钮.

This is still very much a technical question. The debate helps very much but I still need a w或king technical solution. Anyone think they are able to get all these ideas together into something functional? Ill be w或king on it right away myself and will post anything I come up with. Thanks all.

推荐答案

(ALMOST) FINAL EDIT

OK, I've read all the comments and this is what I think is the best solution but I've also thought of an ALL-LOCAL ALTERNATIVE. I'm open to further improvement/discussion

var panic= function(){
    document.body.innerHTML = '';
       //this clears the current html in the body 
       //making it look like the page is loading
    
    if(...){ //check if replaceState is supported so no error is thrown
        var title="Decoy Article Title",
        url="/decoypage"; //another endpoint on your server that gives the decoy website
        window.history.replaceState("", title , url); //replace current history entry
    }

    //should be pretty fast up to this point
    window.location.replace("http://www.google.com"); //load the google page or my alternative.
}

我在我的AWS实例54.186.79.95上放了一个示例,转到该页面,单击按钮,访问另一个页面,然后回击,您现在在54.186.79.95/DecyWebSite上,没有您在54.186.79.95/上的记录,如果缓存被禁用,您的服务器将看到"../DecyWebSite"请求并发送一个诱饵页面.遗憾的是,您不能修改整个域,因此您需要该域不是可疑的.

如果你想go 掉页面内容,我相信最好的办法是用document.body.innerHTML='';.从技术上讲,您仍然在页面上,但是所有内容都消失了.

下一步是修改您的浏览器历史记录.window.history.replaceState(link to docs)是一个HTML5特性,它可以修改您的历史记录,而无需重新加载页面或向您的服务器发出请求.它速度相当快,但只能在现代浏览器上运行.当用户单击紧急按钮时,我们将用一个虚假的url替换其历史记录中的当前页面.

如果滥用的用户点击返回,您的服务器(PHP、Python等等)将收到带有您的假url的请求.因此,您的服务器中需要有另一个端点(如果您不理解端点,请告诉我).制作一篇外观和感觉与你的原始网站相似的温和的文章、食谱或天气预报,以避免在施虐者快速浏览网站时产生怀疑.另外,使用<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">标签确保浏览器不会缓存.

Additional Remarks

  • 理想情况下,您的整个网站(当然,除了您的诱饵文章)应该是一个SPA(单页应用程序),这样它就只会生成一个浏览器历史记录,您只需修改该记录即可.
  • 说到底,我不认为你不能做出100%万无一失的panic 按钮,总会有办法解决的.你只需要找到一个安全性和便利性都可以接受的系统.

另一种 Select 是:在本地更改指控信息并修改浏览器历史记录

我也在想,如果是instead of loading google,如果不是最好的,实际上是transform your site locally with innocent info.这看起来没有加载Google(每个人都这么做)那么可疑,而且您可以在本地完成所有操作,而无需重新加载页面.

当他们点击"panic "按钮时,你会进行一些快速的(跨浏览器兼容的)DOM操作,以更改网站上的指控信息,并使其看起来无辜(可能只是更改文本,它必须快速).通过这种方式,所有这些都是在本地完成的,在当今绝大多数浏览器中,这几乎是即时的.您不必担心重新加载/服务器,因为脚本应该已经加载并准备就绪.如果你保持相同的外观和感觉,看起来用户只是导航到了网站的另一个页面.不要从你网站的外观上太明显地表明这是一个危机网站.当然,你不可能导航回原始内容.我还会在紧急按钮上明确说明该策略是什么,这样用户就不会惊慌失措.

我仍然会try 更改浏览器历史记录,并购买另一个托管诱饵页面副本的域,如上例所示.不仅在域名可疑的情况下,而且在滥用用户点击刷新或返回其历史记录的情况下也是如此.您应该将整个网站设置为SPA,因为您只能修改当前条目,而不能修改过go 的历史记录.当然,这仍然只能在HTML5浏览器中运行,只要确保没有抛出错误,并且脚本的其他部分仍然可以在旧浏览器中运行即可.

人们怎么想的?这个有什么缺点吗?替换成什么内容比较好?

Html相关问答推荐

隐藏滚动条和禁用文本 Select 的CSS技术?

窗口对象中是否有对<;html&>根元素的引用?

在css嵌套 Select 器中,尾随的`&;‘是什么意思?

选中/取消选中带有_hyperscript的多个复选框

如何通过扭曲元素来倾斜元素?

如何在伪元素背景中定位多个CSS径向梯度

在FlexBox中将div拉伸到父div的完全高度

为什么在添加文本时网格区域会调整大小?

嵌套表列高度不是100%高度的问题

使用HTML进行DAX测量

Bootstrap nav没有崩溃

十进制数字不适用于格网项目的格网布局线放置中使用的SPAN关键字

SVG的动态CSS

按钮悬停效果不影响按钮内的图标

如何居中此按钮,即使它已经在计算机分辨率中居中

即使必填字段为空,HTML 表单也已成功提交

在 flexbox 中使用 spacer 是否有效

悬停时宽度从 0 过渡到自动

单击按钮时更改字体真棒图标

为什么相同持续时间的转换需要不同的时间?