<div id="page"></div>
<script>
$("#page").load("header.html")
</script>
<!--第二种:引入include.js文件,然后用include标签加载想要的页面
代码如下-->
<script>
(function(window, document, undefined) {
var Include39485748323 = function() {}
Include39485748323.prototype = {
//倒序循环
forEach: function(array, callback) {
var size = array.length
for(var i = size - 1 i >= 0 i--){
callback.apply(array[i], [i])
}
},
getFilePath: function() {
var curWwwPath=window.document.location.href
var pathName=window.document.location.pathname
var localhostPaht=curWwwPath.substring(0,curWwwPath.indexOf(pathName))
var projectName=pathName.substring(0,pathName.substr(1).lastIndexOf('/')+1)
return localhostPaht+projectName
},
//获取文件内容
getFileContent: function(url) {
var ie = navigator.userAgent.indexOf('MSIE') > 0
var o = ie ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest()
o.open('get', url, false)
o.send(null)
return o.responseText
},
parseNode: function(content) {
var objE = document.createElement("div")
objE.innerHTML = content
return objE.childNodes
},
executeScript: function(content) {
var mac = /<script>([\s\S]*?)<\/script>/g
var r = ""
while(r = mac.exec(content)) {
eval(r[1])
}
},
getHtml: function(content) {
var mac = /<script>([\s\S]*?)<\/script>/g
content.replace(mac, "")
return content
},
getPrevCount: function(src) {
var mac = /\.\.\//g
var count = 0
while(mac.exec(src)) {
count++
}
return count
},
getRequestUrl: function(filePath, src) {
if(/http:\/\//g.test(src)){ return src }
var prevCount = this.getPrevCount(src)
while(prevCount--) {
filePath = filePath.substring(0,filePath.substr(1).lastIndexOf('/')+1)
}
return filePath + "/"+src.replace(/\.\.\//g, "")
},
replaceIncludeElements: function() {
var $this = this
var filePath = $this.getFilePath()
var includeTals = document.getElementsByTagName("include")
this.forEach(includeTals, function() {
//拿到路径
var src = this.getAttribute("src")
//拿到文件内容
var content = $this.getFileContent($this.getRequestUrl(filePath, src))
//将文本转换成节点
var parent = this.parentNode
var includeNodes = $this.parseNode($this.getHtml(content))
var size = includeNodes.length
for(var i = 0 i < size i++) {
parent.insertBefore(includeNodes[0], this)
}
//执行文本中的额javascript
$this.executeScript(content)
parent.removeChild(this)
//替换元素 this.parentNode.replaceChild(includeNodes[1], this)
})
}
}
window.onload = function() {
new Include39485748323().replaceIncludeElements()
}
})(window, document)
</script>
<!--下面引入文件-->
<include src="header.html"></include>
<!--第三种: 用inframe框架加载页面, 兼容性不好-->
<iframe src="xxx.html"></iframe>
用 delphi 提取 html 文件中的内容,可以采用以下方法:一、采用字符串处理函数、正则表达式进行提取。
二、使用 IHTMLDocument 接口提取。
用Replace Pioneer可以这样完成:先用单个文件做测试:
1. ctrl-o打开文本文件
2. ctrl-h打开Replace窗口
* 在Search for pattern输入[<img src="(.*?)"]不带左右的方括号。
* 在Replace with pattern输入[\1\n]不带左右的方括号。
* 去掉Print Unmatch Unit选项,把其他不需要的内容去掉。
3. 点击Replace,即完成地址的提取。
对多个文件的提取:
1. ctrl-h打开Replace窗口
* 在Search for pattern输入[<img src="(.*?)"]不带左右的方括号。
* 在Replace with pattern输入[\1\n]不带左右的方括号。
* 去掉Print Unmatch Unit选项,把其他不需要的内容去掉。
* 把右下角Output File左边的">"号选成">>Append"表示追加模式,所有的输出将追加到一个文件中
2. 点击Batch...按钮打开Batch Runner窗口
3. 点击Search Files选择待处理的多个html文件
4. 选择Set output filename,把${FILENAME}改为固定的输出文件名,比如output.txt,那么所有的结果将追加到output.txt中。
5. 点击Batch Replace即将所有的输出写入output.txt。
注:如果待处理的不是html文件,而是网页地址(保证网页中直接有需要的链接),可以首先把网页地址保存在一个文件比如a.txt中(每行必须以http开头),然后把以上第3步改为:点击Import List把a.txt文件中的网址导入。其他步骤都一样。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)