请问html页面怎么引入公共的Html页面呢?

请问html页面怎么引入公共的Html页面呢?,第1张

<!--第一种:jquery获取dom内的id,直接加载想要引入的页面-->

 

        <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文件中的网址导入。其他步骤都一样。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8343559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存