Javascript 根据location.host和cookie替换页面上的链接
我正在使用jquery重写页面上的链接列表。如果location.host不是vendor location.host,并且cookie未设置为特定值,则它将定位链接并将其重写为备用值。我使用的代码在FF中工作得很好,但在IE7中不行。请帮忙Javascript 根据location.host和cookie替换页面上的链接,javascript,jquery,Javascript,Jquery,我正在使用jquery重写页面上的链接列表。如果location.host不是vendor location.host,并且cookie未设置为特定值,则它将定位链接并将其重写为备用值。我使用的代码在FF中工作得很好,但在IE7中不行。请帮忙 <script type="text/javascript"> // link hider var hostadd = location.host; var vendor = '172.29.132.34
<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 && $.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>
//链接隐藏器
var hostadd=location.host;
var供应商='172.29.132.34';
var localaccess='internal.na.internal.com';
var解锁http://internal.na.internal.com/Learning/Customer_Care/navigation/newhire.html';
//链接重写器
$(文件)。准备好了吗(
函数样式切换器(){
//如果不是供应商或不从lms访问,则将用户重新路由到lms
if(hostadd!=供应商和$cookie(“解锁cookie”)!=解锁){
var linkData={
"https://www.somesite.com": "https://internalsite.com/something“,'../Compliance/something/index.html':'../somethingelse.html”
};
$(“a”)。每个(函数(){
var link=this.getAttribute(“href”);//使用getAttribute获取页面中实际的内容,可能不是完全限定的
if(linkData[link]){
this.href=linkData[link];
}
});
}
});
如果插入动态链接,您可以将它们存储在一个数据属性中,如data orglink=“yourlink”,该属性不会被浏览器转换,然后检查该属性-如果它在对象数组中-更改href。您有权创建数据属性吗
IE7在内部链接方面存在问题,因为它在JS到达链接之前就打开了主机信息 除了IE7之外,所有的都能用。因此,如果要将JS用于此函数,则需要使用完整路径:(
你的JS中有一些错误 但它似乎工作得很好 见:
还是我遗漏了什么?:)到底是什么不起作用?您是否遇到错误,是否尝试过使用断点来查看失败的地方?我不熟悉断点…所以没有,我没有尝试过。我没有收到错误…它只是没有重写链接。实际上,当我在IE7中打开JSFIDLE时,它也不起作用。hello仍然在if(linkData[link])上路由到Its,但失败。。那该怎么办?:)它应该查看页面上的所有链接以查找匹配项…如果它找到匹配项,则将其替换为备用url。