html 改变data text,使用JavaScript将HTML转换为data:text / html链接

小编典典

数据URI的特征

甲数据-URI与MIME类型text/html必须是在其中一种格式:

data:text/html,

data:text/html;charset=UTF-8,

不需要Base-64编码。如果您的代码包含非ASCII字符,例如éé,charset=UTF-8则必须添加。

必须转义以下字符:

#-Firefox和Opera将这个字符解释为哈希标记(如所示location.hash)。

%-此字符用于转义字符。转义此字符以确保没有副作用发生。

此外,如果要将代码嵌入锚标记中,则还应转义以下字符:

" and/or ' -用引号标记属性的值。

& -与符号用于标记HTML实体。

也 没有 进行转义 一个HTML属性中 。但是,如果您要将链接嵌入HTML,则也应将其转义(%3C and %3E)

JavaScript实现

如果您不介意data-URI的大小,最简单的方法是使用encodeURIComponent

var html = document.getElementById("html").innerHTML;

var dataURI = 'data:text/html,' + encodeURIComponent(html);

如果大小很重要,则最好去除所有连续的空格(除非HTML包含

element/style,否则可以安全地做到这一点)。然后,仅替换有效字符:

var html = document.getElementById("html").innerHTML;

html = html.replace(/\s{2,}/g, '') //

.replace(/%/g, '%25') //

.replace(/&/g, '%26') //

.replace(/#/g, '%23') //

.replace(/"/g, '%22') //

.replace(/'/g, '%27'); //

var dataURI = 'data:text/html;charset=UTF-8,' + html;

2020-05-01

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML 文件中直接调用 Access 数据库是不可能的,需要借助服务器端的脚本语言来实现。以下是使用 JavaScript 和 PHP 两种语言实现的示例: 1. JavaScript 示例: ```html <!DOCTYPE html> <html> <head> <title>Access 数据库调用示例</title> <script type="text/javascript"> // 创建 XMLHttpRequest 对象 var xhr = new XMLHttpRequest(); // 设置请求方式和 URL xhr.open('GET', 'data.php', true); // 监听 readyState 的变化 xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // 请求成功,获取响应数据并处理 var data = JSON.parse(xhr.responseText); var arr = []; for (var i = 0; i < data.length; i++) { arr.push(data[i][1]); } console.log(arr); } }; // 发送请求 xhr.send(); </script> </head> <body> <!-- 页面内容 --> </body> </html> ``` 上述代码中,通过 XMLHttpRequest 对象向服务器端发送 GET 请求并监听 readyState 的变化。当 readyState 变为 4 且状态码为 200 时,表示请求成功,可以获取响应数据并处理。这里假设服务器端返回的是 JSON 格式的数据,可以使用 `JSON.parse()` 方法将其转换JavaScript 对象,然后遍历每个数据项,将第二列数据添加到自定义数组变量中。 2. PHP 示例: ```html <!DOCTYPE html> <html> <head> <title>Access 数据库调用示例</title> <script type="text/javascript"> // 创建 XMLHttpRequest 对象 var xhr = new XMLHttpRequest(); // 设置请求方式和 URL xhr.open('GET', 'data.php', true); // 监听 readyState 的变化 xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // 请求成功,获取响应数据并处理 var data = JSON.parse(xhr.responseText); var arr = []; for (var i = 0; i < data.length; i++) { arr.push(data[i][1]); } console.log(arr); } }; // 发送请求 xhr.send(); </script> </head> <body> <!-- 页面内容 --> </body> </html> ``` 上述代码中,使用 PHP 语言编写了一个 data.php 文件,用于查询 Access 数据库中的数据并返回。其中,使用 PDO 建立数据库连接,并执行查询操作,将查询结果转换为 JSON 格式的数据并返回给前端。 ```php <?php // 建立数据库连接 $dsn = "odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=/path/to/your/database.mdb"; $user = "username"; $pass = "password"; $conn = new PDO($dsn, $user, $pass); // 执行查询操作 $sql = "SELECT * FROM tablename"; $stmt = $conn->query($sql); $data = $stmt->fetchAll(PDO::FETCH_ASSOC); // 将查询结果转换为 JSON 格式的数据并返回 header('Content-Type: application/json'); echo json_encode($data); ?> ``` 上述代码中,根据实际情况修改 `$dsn`、`$user`、`$pass` 和 `$sql` 变量的值即可。注意,这里使用的是 ODBC 驱动程序,需要先在服务器端安装相应的驱动程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值