84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
在修改一个别人用concrete5做的一个网站,我只是改动了主题,其它方面都没有改动过,内文还是原来的,都是由tinymce html editor编辑而成的,内文中的链接都没有设置target属性,但也总是打开新窗口,请问是什么原因造成呢?没改动前,是不会的
赞同@依云 的观点。仔细看了网页的文件之后发现在<head>里头有这么一段js代码:
<head>
function openinnew() { if (!document.getElementsByTagName) return; var links = document.getElementsByTagName("a"); for (var i=0; i<links.length; i++) { if (links[i].getAttribute("href")) { if (links[i].getAttribute("rel") == "external" || (links[i].getAttribute("href").substring(0,4) == 'http' && links[i].getAttribute("href").indexOf('santaferelo.com/') == -1)) { links[i].onclick = new Function("window.open('"+links[i].getAttribute("href")+"'); return false;"); } } } } window.onload = openinnew;
这里是定义了一个openinnew()的函数,并在网页加载后执行这个函数。获取所有a标签然后对其进行判断,如果a标签满足rel属性为external或href的地址前面为http并且非santaferelo.com这个域名下的地址的时候,就调用window.open新开一个标签。
openinnew()
a
rel
external
href
http
santaferelo.com
window.open
根据以上解读,所以你就会发现其实你的原来页面并不是所有的网址都是在原始页面中打开的,Records Storage and Records Management你找找这个文字的链接,因为是非条件域下的地址所以也是在新窗口中打开的。然后你新改的地方由于域名变成了app.hknow.net了,但是js的判断域没改..所以,你懂的...
Records Storage and Records Management
app.hknow.net
大概就是这么一回事啦,以上。
我这里你在评论中所给的两个链接里行为都是一样的,有些链接正常,另一些会在新标签页打开,它们调用了 window.open。
赞同@依云 的观点。仔细看了网页的文件之后发现在
<head>
里头有这么一段js代码:这里是定义了一个
openinnew()
的函数,并在网页加载后执行这个函数。获取所有a
标签然后对其进行判断,如果a
标签满足rel
属性为external
或href
的地址前面为http
并且非santaferelo.com
这个域名下的地址的时候,就调用window.open
新开一个标签。根据以上解读,所以你就会发现其实你的原来页面并不是所有的网址都是在原始页面中打开的,
Records Storage and Records Management
你找找这个文字的链接,因为是非条件域下的地址所以也是在新窗口中打开的。然后你新改的地方由于域名变成了app.hknow.net
了,但是js的判断域没改..所以,你懂的...大概就是这么一回事啦,以上。
我这里你在评论中所给的两个链接里行为都是一样的,有些链接正常,另一些会在新标签页打开,它们调用了
window.open
。