如何使页面重定向到JavaScript代码段?

时间:2017-04-25 03:42:27

标签: javascript html redirect

此示例显示如何重定向到网址:

<meta http-equiv="refresh" content="0; url=http://example.com/" />

但是,我不想重定向到网址,我想重定向到一个javascript代码段:

javascript:(function(){s=document.createElement("script");s.type="text/javascript";s.src="https://www.diigo.com/javascripts/webtoolbar/diigolet_b_h_b.js";document.body.appendChild(s);})();

目标是使用单个文件执行此操作。

我尝试用我的js片段替换上面的元重定向中的url,但它失败了。我相信问题是嵌入在js中的双引号:

<meta http-equiv="refresh" content="0; url=javascript:(function(){s=document.createElement("script");s.type="text/javascript";s.src="https://www.diigo.com/javascripts/webtoolbar/diigolet_b_h_b.js";document.body.appendChild(s);})();" />

我尝试用&quot;替换js中的双引号,但这不起作用。还试过%22,也没用。

我没有尝试使用 javascript重定向,我试图将重定向到 javascript(使用meta或其他非js方法)。但是,如果有一种方法可以使用另一段脚本执行上述脚本,那很好。

不尝试重定向到.js 文件 - 我想在重定向中嵌入js代码段。

This question不重复,因为它们不重定向页面,而是重定向链接。

1 个答案:

答案 0 :(得分:0)

我想你想动态加载js文件!如果是这样..,这是我之前使用的代码

(function( window, undefined ){
//设置meta 禁止缓存
document.write('<meta http-equiv="content-type" content="text/html; charset=GBK"><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache">');

//加载公共JS文件
var jsFile = [
    CONTEXT_PATH_NAME+"/js/jquery-1.4.2.min.js",
    CONTEXT_PATH_NAME+"/js/jquery.easyui.min.js",
    CONTEXT_PATH_NAME+"/js/jquery.cookie.js",
    CONTEXT_PATH_NAME+"/js/Toolbar.js",
    CONTEXT_PATH_NAME+"/js/common.js",
    CONTEXT_PATH_NAME+"/js/ajax-request.js",
    CONTEXT_PATH_NAME+"/js/validator.js",
    CONTEXT_PATH_NAME+"/js/tooltip_split.js",
    CONTEXT_PATH_NAME+"/js/cattMsg.js",
    CONTEXT_PATH_NAME+"/js/watermark.js",
    CONTEXT_PATH_NAME+"/html/js/session.jsp"
];
var jsTags = "";
for(var i in jsFile) {
    jsTags += '<script type="text/javascript" src="' + jsFile[i] + '"></script>';
}
document.write(jsTags);
})( window );