Javascript 如果URL发生更改,请将页面重定向到后面

Javascript 如果URL发生更改,请将页面重定向到后面,javascript,jquery,html,url,Javascript,Jquery,Html,Url,我的主页URL是//localhost:8090它将与main.js一起运行index.html if(window.location.href.indexOf("icons") > -1) { window.history.back(); } 如果URL更改为//localhost:8090/icons/sample.png。我必须将用户重定向到上一页,作为//localhost:8090 我试过: main.js if(window.location.href.ind

我的主页URL是//localhost:8090它将与main.js一起运行index.html

if(window.location.href.indexOf("icons") > -1) 
 {
     window.history.back();
 }
如果URL更改为//localhost:8090/icons/sample.png。我必须将用户重定向到上一页,作为//localhost:8090

我试过:

main.js

if(window.location.href.indexOf("icons") > -1) 
 {
     window.history.back();
 }
它不起作用。页面只显示图像

在现代浏览器(IE8+、FF3.6+、Chrome)中,您只需在窗口上收听hashchange事件

$(window).bind('hashchange', function() {
  window.history.back();
 /* things */
});
在一些旧浏览器中,您需要一个计时器来不断检查location.hash。如果您使用的是jQuery,那么有一个插件可以做到这一点

function hashHandler(){
this.oldHash = window.location.hash;
this.Check;

var that = this;
var detect = function(){
    if(that.oldHash!=window.location.hash){
       window.history.back();
    }
};
this.Check = setInterval(function(){ detect() }, 100);
}

var hashDetection = new hashHandler();
您是否处理哈希更改事件。

在现代浏览器(IE8+、FF3.6+、Chrome)中,您只需在窗口上收听哈希更改事件

$(window).bind('hashchange', function() {
  window.history.back();
 /* things */
});
在一些旧浏览器中,您需要一个计时器来不断检查location.hash。如果您使用的是jQuery,那么有一个插件可以做到这一点

function hashHandler(){
this.oldHash = window.location.hash;
this.Check;

var that = this;
var detect = function(){
    if(that.oldHash!=window.location.hash){
       window.history.back();
    }
};
this.Check = setInterval(function(){ detect() }, 100);
}

var hashDetection = new hashHandler();
您是否处理哈希更改事件。

请尝试以下操作:

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC] 
RewriteRule \.(gif|jpg)$ - [F]
若您直接访问图像,但允许它们显示在站点上,则返回403

注意:当您打开带有图像的页面,然后将该图像的路径复制到地址栏时,您可能会看到该图像,这只是因为浏览器的缓存,事实上该图像尚未从服务器加载

尝试以下操作:

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC] 
RewriteRule \.(gif|jpg)$ - [F]
若您直接访问图像,但允许它们显示在站点上,则返回403

注意:当您打开带有图像的页面,然后将该图像的路径复制到地址栏时,您可能会看到该图像,这只是因为浏览器的缓存,事实上该图像尚未从服务器加载


图像无法运行Javascript。这个脚本在哪里运行?请求正在命中一个图像资源,因此没有js,请将一个htaccess文件放在您试图实现的所有目标的拒绝上?是否要阻止对图标目录的访问?是否尝试从尝试导航到图像的页面中加载图标?@Emma是的我要阻止图标目录图像无法运行Javascript。这个脚本在哪里运行?请求正在命中一个图像资源,因此没有js,请将一个htaccess文件放在您试图实现的所有目标的拒绝上?是否要阻止对图标目录的访问?是否尝试从尝试导航到图像的页面中加载图标?@Emma是的我要阻止图标目录仅当url具有“图标”时我需要重定向。因为上面的代码限制了所有API调用。我只需要在url有“图标”时重定向。因为上面的代码限制了所有API调用。