HTML做的网页,如何使当前页面跳转到另一页面锚点处,在线等?
比如现在有t1.html和t2.html两个页面,t1页面中需要设置超链接跳转到t2页面中的锚点a1位置,则需要按如下步骤进行设置: 1、t1页面中设置超链接href属性。
跳转到t2页面a1
2、t2页面中设置锚点元素的ID为a1。占位div1
锚点a1
占位div2
3、浏览器中打开t1页面(以Chrome浏览器为例,其他浏览器操作一样)。 4、点击“跳转到t2页面a1”,Chrome浏览器会新开一个标签页打开t2页面,此时锚点a1在浏览器可视范围内并且位于页面的顶端。这样,外部锚点链接就设置成功了。我查找网站时出现,访问本页面,您的浏览器需要支持JavaScript?
应该是你的ie设置了禁止脚本运行打开IE -》工具 -》inernet选项 -》安全 -》自定义级别 -》将“Activex控件和插件”下面的选项都设为启用将“脚本”下面的选项也搜设为启用这时候你的IE就可以运行脚本了
后端Java怎么和前端HTML交互?
BAT的后端开发工程师不请自来。
这个问题的本质其实是在前后端分离的大趋势下,前后端开发者如何将各自的代码串联起来,对外发布一个完整的服务。
接下来,我们就分别从前端和后端来介绍。
后端
后端又称服务端,是负责接收前端的请求,然后进行逻辑处理,去读写数据库,最后将结果返回的功能节点。目前在前后端分离的大前提下,不仅是java,php,Python等等大多是通过开放http/https接口的方式与前端交流。有的特殊服务还会使用websocket协议,不过使用场景要远远少于http,所以在此不多介绍了。
目前市面常见的web工程都有MVC这样一个概念,即model-view-controller,它是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。我们的封装的代码,可以说就在controller层。
以Java为例,如何实现一个接口呢。只需要在java的某个类中,增加@controller注解,这个类里的函数,在项目启动的时候,就会根据各自定义的path被自动加载为api了。举例来说,现在有两个controller,在url
这个url下,path分别为A和B,然后这两个controller内又各自有两个方法,指定的path注解分别为A1,A2,B1,B2,那么当前端调用A/A1
的时候,就会去执行A controller下的A1函数,然后再将这个函数的执行结果作为response返回给前端了。前端
前端通常负责的工作除了渲染界面,还有两部分组成:
1 捕捉用户的操作,
2 根据操作请求后端api并获取结果展示给用户。
我们前面介绍的前后端交互,就是第二部分的工作。前端通过调用后端提供的api来传递和获取数据,最后再将数据渲染到页面上。
不过值得提一句的是,html并不负责与java交互,从基础来说,html只负责页面架构,具体捕捉用户操作,获取数据等步骤,是由JavaScript来实现的。
以上是我的浅见,欢迎各位在下方评论区与我沟通。
我是苏苏思量,来自BAT的Java开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。
谢谢邀请~
这个问题,看似简单,但是感觉题主又不是那个简单的意思(可能我想多了)。如果问【前端怎么和后端交互】,我觉得大部分程序员都能回答上来,但如果是【后端怎么(主动)和前端交互】,估计会难倒很多程序员了。
先看一个场景
我之前做过一个小项目,只有一个页面,展示的是各个分公司当天的业绩,就是挣了多少钱。后台服务是Java,数据库是Mysql,有一张汇总表,内容大概是北京-100万,上海-80万这样的。
流程很简单,HTML页面发起请求到Java,Java访问数据库查询数据,再返回给HTML展示。但是Mysql中的汇总表的数据,是不定期更新的,可能10分钟,可能20分钟。
最简单的做法是什么?
HTML中用JS设置一个定时轮询(Polling),每隔几秒去发起一次请求,获取最新的数据,如果数据没有变化,页面也保持变化。
缺点很明显,前端发起的很多请求都是无效的(因为数据没有变化),那有没有办法当后台数据发生变化时,Java可以主动通知浏览器呢?
WebSocket
向大家介绍一下WebSocket。
WebSocket是一个基于TCP的协议,它可以使前端和服务器的数据交互变得更简单,前端和服务器只需要完成一次握手,就可以创建持久性的连接,并可以完成双向的数据传输,注意这里的双向,也就是服务端可以主动通知前端;WebSocket的数据格式轻量,所以性能很高;与http协议也有着良好的兼容性。
回到上面的场景,可以这么改造:
HTML页面与Java服务端建立WebSocket连接,然后就不再主动发起请求,Java服务端定时查询数据库,当数据有变化时,通知前端。
可能有人会问,这不就是把HTML页面的轮询,移到Java端了么?
但是想象一下,如果有100个客户端打开了这个HTML页面呢?那就意味着100个前端的定时轮询,变成了1个Java服务端的定时轮询。
希望我的回答,能够帮助到你!我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。