我想从此无内容网页中获取此
[点击网址] http://www.example.com/
因此,从技术上讲,我想要做的是使用重定向地址的URL,同时排除短文本的干扰。总结一下,它从网页中提取URL并阻止“[CLICK URL]”以便能够使用完整的URL作为重定向地址。
我不太确定,但我认为应该看起来像这样(不完整且不起作用):
<script type="text/javascript">
var web = window.location.href + '?action=raw' // Where the text and URL are located
var txt = web.getElementById(element);
var range = web.createRange();
url = range.selectNodeContents(txt);
window.location.href = url // Used the provided URL for the redirect address
</script>
如您所见,这是一个嵌入式脚本,强烈建议使用外部脚本。 这必须适用于任何长度的URL并进行交叉浏览。谢谢!
答案 0 :(得分:0)
以下功能将完成您的任务。
基本上,javascript会忽略所有文本,除了您在包含id =&#34; MyDiv1&#34;的标记中放置的内容。然后它接受该span标记中包含的任何内容,并尝试重定向到它。
只要在该span标记中放置有效网址,就应该成功重定向。此页面上的任何其他内容都不会中断此功能,除非您创建具有相同ID的另一个元素,这将导致冲突。
[CLICK URL] <span id="MyDiv1">http://www.example.com/</span>
<script>
var MyDiv1 = document.getElementById('MyDiv1');
url = MyDiv1.innerHTML;
window.location.href = url
</script>
答案 1 :(得分:0)
如果我理解你,你需要一个Ajax请求。这是一个使用jQuery的例子:
<script>
// fetch the file via a jQuery Ajax request
$.ajax({
url : "http://localhost/test/file.htm",
success : function(result){
// get the <body> content of the file (split with regular expressions)
var body = result.split(/<body[^>]*>/i)[1].split(/<\/body>/i)[0];
// split the bits separated by space (" ") and redirect to the 2nd bit (the URL)
window.location.href = body.split(" ")[1];
}
});
</script>
请注意,您要获取的文件必须与您的文件位于同一个域中。这意味着&#34; example.com /..."仅当获取脚本也在此域上时才会起作用(出于安全原因,通常不允许跨域请求)。