Скрыть div на основе URL - PullRequest
       3

Скрыть div на основе URL

0 голосов
/ 02 сентября 2011

Я пытаюсь скрыть div, когда кто-то идет по определенному URL.

Примерно так:

var url = document.location.href;

if (url.indexOf('http://donorperfect.local/asp/loginfull.asp') >= 0) {
    $('#hidebox').hide();
} else {
    $('#hidebox').show();
}

write("<div id=\"hidebox\">\n");
write("<p>test</p>\n");
write("</div>\n");

Ответы [ 4 ]

2 голосов
/ 02 сентября 2011

EDIT

Если исходить из ссылки, которую вы указали в качестве примера, здесь есть несколько проблем.

  1. Ваш тег SCRIPT должен находиться в блоке HEAD
  2. Вы используете $(), когда он недоступен (Firebug выдает явную ошибку при этом)
  3. Имя файла не соответствует вашему indexOf() совпадению

Исправляя эти проблемы, он работает нормально. См:

<head>
...
<script language='JavaScript' src='/js/jquery-1.4.1.js' type="text/javascript"></script>
...
<script type="text/javascript">
$(function(){
    var url = window.location.href; 

    if (url.indexOf('donorperfect.html') > -1) { 
        $('#hidebox').show();
    } else { 
        $('#hidebox').hide();  
    } 
});
</script>
...
</head>

http://jfcoder.com/test/donorperfect.html

Работает следующий код (setTimeout для демонстрационных целей):

document.write("<div id=\"hidebox\">\n");
document.write("<p>test</p>\n");
document.write("</div>\n");

$(document).ready(function(){
    var url = 'http://donorperfect.local/asp/loginfull.asp';

    if (url.indexOf('http://donorperfect.local/asp/loginfull.asp') > -1) {
        setTimeout(function(){$('#hidebox').hide()},2000);
    } else {
        $('#hidebox').show();
    }
});

http://jsfiddle.net/userdude/Qt8uH/

Хотя это, вероятно, я бы порекомендовал (например, что произойдет, если это HTTPS?):

document.write("<div id=\"hidebox\">\n");
document.write("<p>test</p>\n");
document.write("</div>\n");

$(document).ready(function(){
    var url = 'http://donorperfect.local/asp/loginfull.asp';

    if (url.toLowerCase().indexOf('loginfull.asp') > -1) {
        setTimeout(function(){$('#hidebox').hide()},2000);
    } else {
        $('#hidebox').show();
    }
});

http://jsfiddle.net/userdude/Qt8uH/1/

2 голосов
/ 02 сентября 2011

Запустите ваш код после загрузки страницы и скрытого элемента, доступного для jQuery.Также преобразуйте URL-адрес в нижний регистр и сравните пользовательские типы в смешанных случаях.

$(function(){
     var url = document.location.href;

     if (url.toLowerCase().indexOf('http://donorperfect.local/asp/loginfull.asp') >= 0) {
       $('#hidebox').hide();
     } else {
        $('#hidebox').show();
     }
});
0 голосов
/ 04 апреля 2013

Это тебе поможет !!!Попробуй это.он получает URL-адрес из адресной строки.

var url = window.location.href;
if(url == "http://www.promilitarybusinessnetwork.com/continueSearch.asp?categoryID=108") {
    $('#website').html('<p>This is the Apartments Category page</p>');
} else {
    $('#website').hide();
}});

, если нет .hide () ;.попробуйте .empty ();

0 голосов
/ 02 сентября 2011

Вы можете попробовать изменить document.location.href на window.location.pathname;

Итак, ваш код теперь говорит:

var url = window.location.pathname; 

    if (url.indexOf('http://donorperfect.local/asp/loginfull.asp') >= 0) { 
     $('#hidebox').hide(); 
     } else { 
     $('#hidebox').show(); 
     } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...