Javascript - 链接伪装脚本需要修改
Javascript - Link Cloaking Script needs modifying
以下脚本将我的会员扩展添加到我页面上的每个网址。 例如,如果http://www.Google.com/
在我的页面上的某个地方......将此脚本添加到页面将自动将 url 更改为 - http://adf.ly/xxxxxx/http://www.Google.com/
- 这适用于页面上的每个 URL...
如果页面上的 url 已经是超链接,则此脚本效果很好,因为链接文本保持不变,但目标 URL 现在具有我的会员扩展名。
我的问题是...如何修改此脚本以使其原始 URL(未超链接)仍可显示为原始 URL,但将我的附属扩展添加到目标? 更好的是,我需要这个脚本来超链接页面上的所有原始网址。 我需要它,以便如果我的页面上http://www.Google.com
原始网址,脚本会将目标更改为 - http://adf.ly/xxxxxx/http://www.Google.com/
- 但查看器仍然只能看到http://www.Google.com
。
同样,此脚本已经可以很好地处理超链接,因为它只影响 URL,而不会影响链接文本。 我只需要它来掩盖/掩盖/超链接所有原始网址,以便观众仍然看到原始 URL 目标,而不是带有我的会员扩展名的新目标。
提前谢谢你,下面是示例 HTML 代码:
<script type="text/javascript">
onmousemove = function adfly() {
adfly_id = 'xxxxxx';
for(var i = 0; i < document.links.length; i++) {
var hrefer = document.links[i].href;
if(hrefer.match("adf.ly") || hrefer.match("javascript:") || hrefer.match("#")) {
document.links[i].href = document.links[i].href;
} else {
document.links[i].href = 'http://adf.ly/' + adfly_id + '/' + document.links[i].href;
}
}
}
</script>
你可以通过以下方式做到这一点:
- 遍历文本节点(或您感兴趣的子集),查找包含 URL 正则表达式匹配项的文本节点。
- 为以下各项创建新节点:
- 文本部分
- 锚点/链接
- 将这些新节点插入到 DOM 中(删除/替换原始文本节点)
这将是一个独立于通过document.links的现有循环的循环。
最后但并非最不重要的一点是:警惕XSS漏洞!
下面的锚标记在href
属性中显示"google.fr",但由于onclick
,单击该链接将转到那里列出的站点。
<a title="google" href="http://google.fr/whatpeopleseeonrollover" onclick="this.href='http://yahoo.fr/wherepeoplegoforreal'">http://google.fr/whatpeoplethinktheygo</a>
您可以使用这样的东西来重定向页面上的链接。
- 脚本修改
- 表单验证自动滚动修改脚本
- Chome和Firefox阻止修改派生类'咖啡脚本中的原型
- jQuery脚本将我带到页面顶部.如何修改
- 修改disqus评论脚本的语言
- 修改jQuery脚本,让我选择页面入口的选择列表的默认值
- 修改脚本以检查数据相关
- 请求有关修改 .js 脚本以在 chrome 中包含打开标签页的帮助
- 运行时的 Java 脚本修改函数
- 修改此滚动导航菜单脚本
- 将text.innerHTML修改为显示/隐藏脚本中的图像
- Javascript - 链接伪装脚本需要修改
- 使用脚本中的数据,通过各种形式或提醒框修改 Google 电子表格中的数据
- 创建 Google 脚本,以便在日历活动更新时对其进行修改
- JavaScript - 是否可以修改第三方脚本(外部托管)使用的 setInterval/setTimeout 的行为
- 修改脚本以在上午/下午前后包含 DIV
- 用javascript创建一个var;修改脚本以创建var用法
- 网站编辑不断修改脚本,使其变得毫无用处
- 插入到站点后修改脚本
- 需要JS来修改脚本后面的元素