设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3946|回复: 17
打印 上一主题 下一主题

[多媒体] 让静态网页“Duang”起来——记录集的另类用法

[复制链接]
跳转到指定楼层
1#
发表于 2015-3-23 17:00:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 roych 于 2015-3-24 16:55 编辑

一般来说,html静态网页的交互作用——弱弱地问一句,有交互性吗?——如果前面留意过我写的那两个jQuery例子,估计大家可能还是会觉得有些交互性的,尽管比较差。写得比较好的应该算是TodayNew的东北乱炖了。

不过,遗憾的是,这个例子常常会因为Access的版本出现一些问题(用Access Office 2010 64位和Access 2013 32位调试过,均出错),大概跟documentComplete事件有关系。按我的理解是,可能由于JavaScript有阻塞元素下载的机制(必须编译完了才能下载下一个元素),而预定义的接口变量尚未能完成编译,导致出现“找不到属性或方法(438)”错误。此外,跟IE的安全机制也有一定的关系。运行Javascript时,部分版本Access引用的Webbrowser控件会出现黄色的警告栏,同样会引起上述错误。解除了安全机制(允许运行),然后才会再次加载页面元素。所以,从这一点看,应该是DownloadComplete事件之后才算完成页面的装载的。——但把documentComplete移到DownloadComplete,同样未能彻底解决438出错的问题。

这些都是题外话了。那么这个问题是不是真的无法解决呢?其实也不完全是。现在,我这里就提供一个解决的思路——让Access作为数据库后台,把前端交给JavaScript。这似乎听起来感觉“Duang Duang”的,但它却是可行的,因为有ActiveXObject。ActiveXObject是微软的一个自动化组件(Automation object),包含了我们常用的一些组件(例如文件系统对象的Scripting Runtime,记录集,甚至Excel等应用程序…),在JavaScript里使用起来跟我们用VBA来编写没太大差别。不过还是存在几个问题:
如果出于安全性的话,据说可以将Access文件的扩展名改为asp,以避免被文件被盗链下载。
JavaScript是客户端脚本,需要确定客户端装了完整版本的Access。——如果能够确保用Access做壳的话,这应该不是问题。
ActiveXObject是微软的组件,需要客户端使用IE打开。——对于这一点,个人建议,用Webbrowser进行装载页面即可。
该说的我都说了。最后再强调下,这里旨在提供一个思路,希望对于各位想把界面处理得更美观的版友能够有所裨益(有了这一点,再加上一些jQuery插件,做出一个漂亮的界面应该不成问题)。下面的文件请用IE打开test.html,然后点击按钮,即可看到下面的效果:


——这个ASP其实是mdb文件^_^。
如果用IE打开无显示,请留下以下设置(安全设置为默认的“中-高”,如果是“高”的话,请改回来):







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1经验 +12 收起 理由
tmtony + 12

查看全部评分

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖1 订阅订阅
16#
发表于 2015-9-1 16:39:37 | 只看该作者
学习
回复

使用道具 举报

15#
发表于 2015-3-24 14:52:35 | 只看该作者
ie测试结果:未知运行时错误.这句:document.getElementsByTagName('tbody')[0].innerHTML=openCnn("test.html","db.mdb","Tbl_Test");

点评

附件已更新,下载后放在其它盘根目录下试试看。之前我在桌面上运行似乎有些问题。放在F盘之后似乎又好了。  发表于 2015-3-24 16:45
14#
 楼主| 发表于 2015-3-24 11:06:14 | 只看该作者
tmtony 发表于 2015-3-23 18:13
360浏览器 有很多不兼容

360只是开发出一个浏览器而已,应该没有提供什么插件的接口。
所以,这个例子也只能结合Webbrowser来处理。这样的话,可以限定使用IE内核。过一段时间准备把DataTables插件结合这个做个实例发上来,大体思路已经打通了。不过最近比较忙
13#
发表于 2015-3-23 18:56:31 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

点击这里给我发消息

12#
发表于 2015-3-23 18:13:32 | 只看该作者
360浏览器 有很多不兼容
11#
 楼主| 发表于 2015-3-23 18:08:41 | 只看该作者
tmtony 发表于 2015-3-23 17:45
roych,最近jquery示例高产啊

额,站长过奖了。
10#
发表于 2015-3-23 18:07:15 | 只看该作者
好了,能打开了!
9#
 楼主| 发表于 2015-3-23 18:04:30 | 只看该作者

360是不支持的。您可以右击,在“打开方式”里选择IE试试看。
8#
发表于 2015-3-23 17:59:51 | 只看该作者
我是360浏览器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-19 03:32 , Processed in 0.093810 second(s), 38 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表