这个问题可能是由于缺少或损坏了某些必要的软件或文件引起的。您可以尝试以下 *** 作来解决问题:
1 执行病毒扫描:首先,使用可靠的杀毒软件对您的电脑进行全面病毒扫描,以确保您的计算机没有受到恶意软件的影响。
2 更新驱动程序:确保您的计算机上所有的驱动程序都是最新的。您可以访问各个设备制造商的网站来获得最新的驱动程序。
3 重新安装应用程序:如果问题仍然存在,请尝试重新安装相关的应用程序,可能是该应用程序中的某些文件已经被删除或损坏。
4 安装更新:如果您的 *** 作系统已经过时,请尝试安装最新的更新和补丁,以防止任何可能的兼容性问题。
如果问题仍然存在,请考虑咨询计算机技术支持人员以获取更进一步的帮助。
前言
在项目中需要在桌面应用程序中内嵌浏览器, 尝试了几种解决方案,有:javafx, DJNativeSwing,CEF等。觉得CEF效果最好。本文目的是介绍如何编译和使用jCEF。
主要参考和翻译了这篇文章java-cef
背景说明
什么是CEF?
CEF是Chromium Embedded Framework的缩写,是个基于Google Chromium项目的开源Web browser控件,支持Windows, Linux, Max平台。除了提供C/C++接口外,也有其他语言的移植版。比如JCEF。
因为基于Chromium,所以CEF支持Webkit & Chrome中实现的HTML5的特性,并且在性能上面,也比较接近Chrome。
谁在用CEF?
各种浏览器
早期的双核浏览器(IE + Webkit),有些使用了CEF来作为Webkit内核浏览器控件。
不过对于浏览器来说,直接在Chrome上面扩展,其实才是王道,大家现在都这么做了(各种极速浏览器)。
Evernote Client (on Windows)
Evernote允许用户将网页粘贴到笔记中,还提供了插件用来将网页保存为笔记。
那肯定是需要在Client上面可以正确的渲染页面咯,这个任务就交给了CEF。
GitHub Client (on Windows)
GitHub也打包了libCEFdll,从表现上面看,用来展示项目的ReadMe页面的,肯定是CEF,其他地方的UI,可能部分也是用页面来实现的。
QQ很早之前就通过内嵌IE来实现一些功能和界面。从2013年开始,QQ引入了CEF,对一些之前用IE的地方进行了替换,这样就可以使用一些基于Webkit的新特性,同时也获得了速度、稳定性、兼容性方面的优势。
什么是JCEF?
简单来说,JCEF是对CEF进行了一层Java封装。使用JNI调用CEF的功能。目标是让java开发者能够使用CEF框架来开发web browser控件。
如编译和使用JCEF
目前JCEF保持了一个开发分支对CEF进行跟进,在不断的develop中。我们可以下载JCEF源码按照下面的步骤手动编译。
1 准备环境
需要编译JCEF需要你的电脑上有如下的开发环境:
CMake version 28122 or newer
Git
Java version 17 or newer
Python version 26 or newer
对于linux系统,下面几个发行版是支持的:
Debian Wheezy, Ubuntu Precise, and related
对于windows系统:
因为JCEF的开发者用Visual Studio 2013 作为开发工具,所以你得准备一个VS2013 来编译JCEF,否则用其他的编译器可能会出问题。
对于MAC系统:
需要Apache Ant
2 下载JCEF源码
使用git下载JCEF源码:
#The JCEF source code will exist at `/path/to/java-cef/src`
cd /path/to/java-cef
git clone >
奶奶的
我把样式都给你了
你还犹豫
/ General Styles /
/ a style which makes div touch the bottom of content /
clearfix:after {
content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
html>body clearfix {
display: inline-block;
width: 100%;
}
html clearfix {
/ Hides from IE-mac \/
height: 1%;
/ End hide from IE-mac /
}
/ ie7 hack/
+html clearfix {
min-height: 1%;
}
toolBar {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #493a01;
line-height: 120%;
margin: 0;
padding: 0;
}
toolBar a, toolBar a:visited{
color: #333;
text-decoration: underline;
}
toolBar a:hover{
text-decoration: underline;
}
toolBar a:focus{
-moz-outline-style: none;
}
toolBar adisable, toolBar adisable:hover {
color: #ccc;
}
toolBar inputtext{
color: #333;
height: 18px;
line-height: 16px;
background-color: white;
border: 1px solid #ccc;
}
toolBar inputbutton{
color: #333;
height: 25px;
line-height: 18px;
padding: 0px 5px 0px;
background-color: white;
border: 1px solid #ccc;
cursor: pointer;
}
toolBar inputbutton2{
color: #333;
background: url(images/btn_bggif) repeat-x center;
border: 1px solid #ccc;
height: 19px;
line-height: 17px;
text-align: center;
cursor: pointer;
}
toolBar inputbutton-submit{
height: 25px;
line-height: 18px;
padding: 0px 5px 0px;
background-color: #f4f6e1;
border: 1px solid #aac051;
cursor: pointer;
color: #567b8e;
}
toolBar img{
border: none;
}
toolBar menuSub-div{
border: 2px solid #ccc;
background: white;
}
/ layout /
toolBar{
position: fixed;
left: 0;
top: 0;
z-index: 1000;
width: 100%;
}
/ html toolBar{position:static;} IE6 /
+html toolBar{position:absolute;} / IE7 /
#toolbarPadding{
height: 30px;
display: block !important;
display: none;
}
#innerToolBar{
height: 28px;
background: url(images/bggif) repeat-x center;
padding: 2px 5px 0;
}
innerToolBar a{
padding: 3px 3px 2px !important;
padding: 3px 3px 1px;
text-decoration: underline;
}
innerToolBar a:hover{
padding: 2px 2px 1px !important;
padding: 2px 2px 0px;
color: #493a01;
background: #f6f6f6;
text-decoration: none;
border: 1px solid #ccc;
}
innerToolBar adisable:hover{
color: #ccc;
}
#innerToolBar tb_spacer{
padding: 0 1px;
}
/ logo /
#tb_logo{
float: left;
margin-right: 5px;
}
#tb_logo a{
padding: 0 !important;
border: none;
background: none;
}
/ user /
#tb_user{
float: left;
padding: 0 5px 0 0;
}
#tb_user txt{
padding: 6px 4px 4px;
float: left;
display: block;
}
#tb_welcome{
background:#eee;
padding:3px 3px 2px;
cursor:default;
margin:3px 5px 0 0;
float: left;
}
#tb_userN{
font-weight: bold;
cursor: pointer;
float: left;
}
tb_userN{
background: url(images/username_bggif) no-repeat right top;
padding:0 3px 0 0;
margin: 2px 5px 0 0;
}
tb_innerUserN{
background: url(images/username_bggif) no-repeat left top;
padding:2px 0 2px 3px;
display: block;
height: 18px;
float: left;
}
tb_userN-over{
background-position: right -22px;
}
tb_userN-over tb_innerUserN{
background-position: left -22px;
}
tb_userN-down{
background-position: right -44px;
}
tb_userN-down tb_innerUserN{
background-position: left -44px;
padding:3px 0 1px 3px;
}
#tb_userN img{
width: 16px;
height: 16px;
margin-right: 2px;
border: 1px solid #ddd;
}
#tb_userN subMenuArrow2{
background:url(images/ico_submenushowgif) center;
float: none;
margin: 1px 1px 1px 3px;
padding: 0 2px;
cursor: pointer;
text-decoration: none;
}
#tb_sohuMsg{
cursor: pointer;
background: url(images/ico_messengergif) no-repeat center;
float: left;
}
#tb_user tb_sohuMsg {
padding: 2px 7px;
margin: 4px 0 0;
}
#tb_user tb_sohuMsg-over {
padding: 1px 6px;
border: 1px solid #ccc;
background-color: #eee;
}
#tb_sohuMsgFlash{
padding:0 40px 0 0;
}
#tb_sohuMsgFlash embed{
width:170px;
height:120px;
position:absolute;
z-index: 1501;
}
/ tool /
#tb_tool{
float: left;
padding: 6px 4px 4px;
border-left: 1px solid #ccc;
}
/ sys /
#tb_sys{
float: right;
padding: 6px 4px 4px;
}
/ search /
#tb_search{
float: right;
padding: 3px 4px 0;
}
#tb_search inputtext {
padding: 0 2px;
border: 1px solid #cecece;
line-height: 16px;
height: 16px;
width: 95px;
background: #e6e6e6;
vertical-align: middle;
}
#tb_search inputbutton {
width:auto;
line-height: 18px;
height: 18px;
background: #ddd;
cursor: pointer;
background: #ddd;
border: 1px solid #ccc;
vertical-align: middle;
}
/ addon /
#tb_addon{
float: right;
padding: 6px 4px 4px;
}
/ login form /
menuSub-div-login {
width: 300px;
padding: 0;
}
/ login form style /
menuSub-div-login passport {border:1px solid white; height:1%; width:auto;}
/ 全局CSS定义 /
#passportcard {font-family:"宋体", Verdana, Arial, Helvetica, sans-serif;line-height:normal;}
passportcard input{border:none;}
passportc ul,passportc ol,passportc li,passportc span,passportc p,passportc form {margin: 0; padding: 0; border: 0;}
passportc img,passportc a img,passportc h3,passportc h4,passportc h5,passportc h6{border:0; margin:0; padding:0;}
passportc ul,passportc ol,passportc li {list-style:none}
/ 链接颜色 /
passportc a {color: #333;text-decoration:none}
passportc a:link,passportc a:visited{color:#333;font-weight: normal;}
passportc a:hover {color:#fc7821;text-decoration:underline;}
/ 登录前 /
passportc {width:278px;height:158px;font-size:12px;border:1px #c3cecd solid;background:#fff;text-align:left;}
passportc b{color:#FF0000;font-weight:bold;}
passportc h2,passportc h4{color:#333;margin:8px 10px -8px 10px!important;margin:8px 10px 0px 10px;font-size:12px;}/标题/
passportc h2{background:url(images/pic002gif) no-repeat right top;font-weight:bold;}
passportc h4 span{margin-right:169px;font-weight:bold;}
passportc ppthree{
display:inline;
color:#999999;
font-weight:bold;
margin:auto 60px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
ppcontent{width:268px;height:136px;padding:15px 0px 0px 10px!important;padding:0px 0px 0px 10px;background:url(images/pic001gif) no-repeat center ;}
ppcontent dt{color:#333;height:16px;}
ppcontent dl{padding:0px 0px 0px 23px!important;padding:10px 0px 0px 23px;margin:0;}
ppcontent dd{color:#333;margin:0px 0px 5px 0px!important;margin:0px 0px 3px 0px;padding:0}
ppcontent h3,ppcontent h6{font-size:12px;font-weight: normal;margin-top:7px;}
ppcontent h6{margin-top:10px;}
ppcontent h6 a:link,ppcontent h6 a:visited{margin-right:27px;}
ppcontent h3 span{margin:5px 34px 0px 38px;color: #313031;}
ppcontent sign{background:url(images/pic004gif) no-repeat; width:63px; height:19px;border:0;font-size:12px;padding-top:1px!important;padding-top:4px;color:#333;}
ppcontent ppinput {color:#333;border:1px #ccc solid;height:17px;width:166px!important;width:164px;background:#fff;font-size:12px; vertical-align:text-bottom;}
ppselecter, ppselecter {color:#333;font-size:12px; font-family:"宋体", Verdana, Arial, Helvetica, sans-serif; line-height:normal;}
ppselecter {border: 1px solid #c3cecd; width: 166px;margin-left:1px;}
ppselecter ppseltit {background-color: #c3cecd;height:15px;padding-top:4px;text-indent:6px; color:#333;}
ppselecter table td table td {padding: 3px;}
ppselecter active {background:#fc7821; color:white; font-weight: normal;}
/ 登录中 /
ppWaitMsg{background:url(images/loadgif) no-repeat center 30px;color:#333;padding-top:90px;padding-left:50px;font-size:12px;width:190px;font-weight: normal;}
/ start menu /
toolBar menuSub-div-start{
width: 400px;
background: #f6f6f6 url(images/startmenu_bggif) repeat-x center top;
border: 1px solid #ccc;
}
pst{
padding: 2px;
}
pst a{
color: #333;
text-decoration: underline;
}
pst a:hover{
color: red;
text-decoration: underline;
}
pst_head{
height: 22px;
}
pst_title{
float: left;
font-weight: bold;
color: black;
padding: 2px;
}
pst_title pst_p{
color: #eb281c;
font-weight: bold;
}
pst_sohu3{
float: left;
font-weight: bold;
color: #999;
padding: 2px 0 2px 100px;
}
pst_content{
float: right;
width: 292px;
}
pst_tips{
border:1px solid #ccc;
padding:5px 5px 5px 25px;
background: url(images/ico_tipsgif) no-repeat 5px center;
background-color: #ffffe1;
margin: 0 0 5px 0;
}
pst_tips ul{
list-style: inside;
}
pst_innerContent{
background: white;
border: 1px solid #ccc;
height: 250px;
width: 280px;
padding: 5px;
overflow-y: auto;
overflow-x: hidden;
}
pst_content_load{
margin: 15px auto;
}
pst_loader{
padding: 0 0 0 20px;
width: 90px;
background: url(images/loadinggif) no-repeat left center;
}
pst_cnt_actions{
padding: 5px 5px 7px;
margin-bottom: 5px;
}
pst_mTitle{
height: 18px;
padding: 4px 5px 0;
background: url(images/startmenu_mTitle_bggif) repeat-x center top;
border: 1px solid #e9e9e9;
font-weight: bold;
}
pst_mRfs{
float: right;
background: url(images/ico_rfsgif) no-repeat center;
height: 16px;
width: 16px;
cursor: pointer;
}
pst_mCnt{
padding: 5px 10px;
}
pst_mCnt ul{
padding: 0;
margin: 0 0 0 15px;
list-style: outside disc;
}
pst_mCnt li{
margin: 5px 0;
white-space: nowrap;
width: 100%;
overflow: inherit !important;
overflow: hidden;
text-overflow:ellipsis;
}
lipst_videoSub{
border-bottom: 1px solid #ccc;
clear: both;
width: auto;
}
pst_videoCover img{
width: 64px;
height: 48px;
border: 1px solid #ccc;
padding: 2px;
margin: 5px 5px 5px 0;
float: left;
}
pst_videoDesc{
white-space: normal;
padding: 8px 0 0 0;
display: block;
}
pst_groupJoin li{
white-space: normal;
}
pst_groupJoin li img{
width: 20px;
height: 15px;
border: 1px solid #ccc;
padding: 1px;
}
pst_groupJoin input{
height: 18px;
border: 1px solid #ccc;
background: white;
cursor: pointer;
margin-left: 5px;
}
pst_sidebar{
float: left;
width: 100px;
}
pst_ico{
text-align: center;
padding: 5px;
}
pst_ico img{
border: 1px solid #ccc;
padding: 1px;
background: white;
width: 50px;
height: 50px;
}
pst_pdtMenu{
list-style: none;
padding: 0;
margin: 0;
}
pst_pdtMenu li{
clear: both;
display: block;
padding: 0;
margin: 0;
height: 28px;
width: 98px;
}
lipst_pdtMenuActive{
background: white url(images/pdtmenu_active_bggif) no-repeat left center;
}
pst_pdtMenu a{
display: block;
float: left;
height: 16px;
padding: 7px 0 5px 0;
text-decoration: none;
background: url(images/pdtmenu_bggif) repeat-x left top;
}
pst_pdtMenu a:visited{
text-decoration: none;
}
pst_pdtMenu a:hover{
color: #333;
background: #eee url(images/pdtmenu_bggif) repeat-x left -56px;
border: 1px solid #ded09c;
padding: 6px 0 4px 0;
text-decoration: none;
}
apst_pdtMenuName{
padding: 7px 5px 5px 10px;
width: 60px;
}
pst_pdtMenu-over apst_pdtMenuName{
background: #eee url(images/pdtmenu_bggif) repeat-x left -28px;
border: 1px solid #ded09c;
padding: 6px 4px 4px 9px;
}
apst_pdtMenuName:hover, apst_pdtMenuName-active{
background: #eee url(images/pdtmenu_bggif) repeat-x left -56px;
border: 1px solid #ded09c;
padding: 6px 4px 4px 9px;
}
apst_pdtMenuNameWide{
padding: 7px 5px 5px 10px;
width: 83px;
}
apst_pdtMenuNameWide:hover{
padding: 6px 4px 4px 9px;
}
apst_pdtMenuArrow{
background: url(images/pdtmenuArrow_bggif) no-repeat left top;
width: 23px;
padding: 7px 0 5px;
}
pst_pdtMenu-over apst_pdtMenuArrow{
background: #eee url(images/pdtmenuArrow_bggif) no-repeat left -28px;
border: none;
padding: 7px 0 5px;
}
apst_pdtMenuArrow:hover, apst_pdtMenuArrow-active, pst_pdtMenu-over apst_pdtMenuArrow-active{
background: #eee url(images/pdtmenuArrow_bggif) no-repeat left -56px;
border: none;
padding: 7px 0 5px;
}
pst_pdtMenu a span{
background-position: center;
background-repeat: no-repeat;
padding: 8px;
margin-right: 2px;
}
pst_mnBlog{
background-image: url(images/ico_bloggif);
}
pst_mnPP{
background-image: url(images/ico_ppgif);
}
pst_mnMusic{
background-image: url(images/ico_musicgif);
}
pst_mnVideo{
background-image: url(images/ico_videogif);
}
pst_mnGroup{
background-image: url(images/ico_groupgif);
}
pst_mnMsg{
background-image: url(images/ico_messengergif);
}
pst_foot{
height: 24px;
}
pst_otherPdt{
float: left;
background: url(images/pst_gogif) no-repeat 5px center;
padding: 4px 0 2px 40px;
margin: 2px 0 0;
}
pst_otherPdt a{
text-decoration: none;
}
pst_camp{
float: right;
padding: 4px 0 2px;
}
pst_camp a{
background: #ccc url(images/pst_campgif) no-repeat center;
display: block;
height: 20px;
width: 54px;
}
/
=== Sohu Blog PPP StyleSheet File ================================
Style Name: pink
Version: 10
Author: Todd Lee (>
动态添加控件,自己要 *** 作的就是new一个控件出来,然后thiscontrolsadd(控件)方法添加进去,利用Location属性确定其起始位置,用size属性确定其大小,附代码双击鼠标添加testbox
private void from1_DoubleClick(object sender, EventArgs e)
{
TextBox mytestbox = new TextBox();
mytestboxLocation = PointToClient(MousePosition);
mytestboxSize = new Size(100,50); //自己调整
thisControlsAdd(mytestbox); //添加,添到哪里自己调整
}
代码如下:
using System;
using SystemCollectionsGeneric;
using SystemLinq;
using SystemText;
using SystemThreadingTasks;
using XiliumCefGlue;
namespace XiliumCefGlueWindowsForms
{
public class BsLifeSpanHandler : CefLifeSpanHandler
{
private CefWebClient bClient;
public BsLifeSpanHandler(CefWebClient bc)
{
bClient = bc;
}
protected override void OnAfterCreated(XiliumCefGlueCefBrowser browser)
{
baseOnAfterCreated(browser);
bClientCreated(browser);
}
}
}
然后打开CefWebClientcs文件,添加声明
private readonly CefDownloadHandler downloadHandler;
在构造函数中加入
downloadHandler = new BsDownloadHandler();
然后添加一个方法名在文档末尾
protected override CefDownloadHandler GetDownloadHandler()
{
return downloadHandler;
}
这样就可以实现点击文档或附件自动d出下载对话框了,同时又支持javascript和C#的调用。也就能支持绝大多数的客户端开发了。
安装TDcefBrowser控件 指定library-pathSource 或 放同目录 或… 文件夹bin选择适合类型全部copydemos\Simple\Win32\Debug (EXE必须些DLL文件同目录 选择自cefload…) 编译SimpleDcefBdprj 简单例 效代码20几行吧 包含浏览器基本功能 其 现框架实现功能比较少保证基本打中国页 其功能慢慢加进PS 我比较懒 另外发BccBrowser问题蛮控件都已经修
以上就是关于电脑上出现由于找不到multiplayercefdall无法继续执行代码电脑上出现这个怎么解决啊全部的内容,包括:电脑上出现由于找不到multiplayercefdall无法继续执行代码电脑上出现这个怎么解决啊、如何编译JCEF以及内嵌到桌面应用程序中、请问如何把这段html代码的效果完全用css代码表现出来 谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)