#javascript #jquery
#javascript #jquery
Вопрос:
Я использую jquery для перезаписи списка ссылок на странице. Если местоположение.хост НЕ является местоположением поставщика.хост И файл cookie не имеют определенного значения, затем он находит ссылки и переписывает их в альтернативные значения. Код, который я использую, отлично работает в FF, но не в IE7. Пожалуйста, помогите!
<script type="text/javascript">
// link hider
var hostadd = location.host;
var vendor = '172.29.132.34';
var localaccess = 'internal.na.internal.com';
var unlock = 'http://internal.na.internal.com/Learning/Customer_Care/navigation/newhire.html';
// link rewriter
$(document).ready (
function style_switcher(){
//if not a vendor or not accessing from lms reroute user to lms
if (hostadd != vendor amp;amp; $.cookie("unlockCookie") != unlock){
var linkData = {
"https://www.somesite.com": "https://internalsite.com/something",'../Compliance/something/index.html':'../somethingelse.html'
};
$("a").each(function() {
var link = this.getAttribute("href"); // use getAttribute to get what was actualy in the page, perhaps not fully qualified
if (linkData[link]) {
this.href = linkData[link];
}
});
}
});
</script>
Комментарии:
1. Что именно не работает? Вы получаете сообщение об ошибке и пытались ли вы использовать точки останова, чтобы увидеть, где происходит сбой?
2. Я не знаком с breakpoints…so нет, я их еще не пробовал. Я не получаю error…it просто не переписывает ссылки.
Ответ №1:
Что вы могли бы сделать, если вы вставляете динамические ссылки, так это сохранить их в атрибуте данных, таком как data-orglink=»yourlink», который не будет преобразован браузером, затем проверьте это — и если он находится в массиве объектов — измените ссылку на href. У вас есть доступ к созданию атрибута данных?
У IE7 есть проблемы с внутренними ссылками, потому что он помещает информацию о хосте, прежде чем JS сможет перейти по ссылке..
Будет работать во всех, кроме IE7. Поэтому вам нужно использовать полные пути, если использовать JS для этой функции: (
У вас были некоторые ошибки в вашем JS.
Но, похоже, все работает нормально?
Смотрите: http://jsfiddle.net/s4XmP /
или я что-то упускаю? 🙂
Комментарии:
1. на самом деле, когда я открываю ваш jsfiddle в IE7, он тоже не работает. привет, все еще маршруты к somesite.com
2. Его на if (linkData[link]) происходит сбой.. Что это должно делать? 🙂
3. он должен просматривать все ссылки на странице, чтобы найти совпадения … если он находит совпадение, он заменяет его альтернативным URL.