如何将我的JS重定向压缩到一个浏览器执行速度更快的函数中?

时间:2017-09-19 10:34:46

标签: javascript redirect

我有重定向要实现,但它们看起来很混乱,我希望有一种方法来压缩它以提高执行速度。基本上我需要多个页面重定向到同一个URL。这是我到目前为止(包括5个原始页面):

if(document.URL.indexOf("www.originalwebs1.com") >= 0){
window.location.replace("www.alternatewebs.com");
}

if(document.URL.indexOf("www.originalwebs2.com") >= 0){
window.location.replace("www.alternatewebs.com");
}

if(document.URL.indexOf("www.originalwebs3.com") >= 0){
window.location.replace("www.alternatewebs.com");
}

请注意,这将使用Monetate注入网站。

谢谢大家。

3 个答案:

答案 0 :(得分:0)

也许是这样的:

private void ProcessCsvsReplaceNullsWithSpaces()
{
    string server = ConfigurationSettings.AppSettings["RapServer"];
    string importDir = ConfigurationSettings.AppSettings["importDir"];
    string fileName = server + @"\" + importDir + "\\EMIR_VU_E_*.csv";
    string replacenull = File.ReadAllText(fileName);
    replacenull = replacenull.Replace("null", "");
    File.WriteAllText(fileName, replacenull);
}

答案 1 :(得分:0)

这是我能想到的禁食方式。

使用Array.indexOf(),您可以轻松完成。您可以编写代码,以便代码Flowable添加Array: URLs。以下是示例代码:

Monetate

答案 2 :(得分:-1)

当您选择压缩代码时,应首先查看公共/冗余代码。在你的情况下:

if(document.URL.indexOf() >= 0){
  window.location.replace("www.alternatewebs.com");
}

您可以使用切换案例等选项:

switch (window.location.host) {
  case 'originalwebs1.com':
  case 'originalwebs2.com':
  case 'originalwebs3.com':
    window.location.replace("www.alternatewebs.com");
    break;
}

或者您可以创建一个具有值组合的hashMap:

var hashMap = {
  'originalwebs1.com': "www.alternatewebs.com",
  'originalwebs2.com': "www.alternatewebs1.com",
  'originalwebs3.com': "www.alternatewebs2.com",
}

var url = hashMap[window.location.host];

if(url) {
  window.location.replace(url);
}

或者,如果选项非常类似于正则表达式可以验证它,您可以关注我的评论:

  

if(/ originalwebs [123] .com / .test(window.location.host)){...}

哪种方式最好,取决于您的用例。基于输入和输出网址。

注意:以上回答表示具有相同功能的不同方式,但由于输入和输出URL的不清晰,我已经描述了可能的选项。如果您觉得不正确/不必要/不正确,请与您的投票分享您的反馈意见。

祝你有个美好的一天!