百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome_javascript技巧
脚本之家之前发布过这样的代码,其实问题不大,但这里的版本主要是增加一些功能,回调执行服务器端的方法,对于asp.net开发或ajax开发都是非常有价值的改进。
先看下效果图:
原有百度的Popup.js在有
声明的网页下存在兼容性问题,即在IE6,7,8下,遮罩层是可以全屏,但在Firefox和Chrome下无法全屏遮罩。
造成遮罩层在FF和Chrome下无法全屏的问题在267行:
遮罩层dialogBoxBG 的style只是单纯的设置为height:100%,所以在有..>声明下的页面无法兼容FF和Chrome。
然而目前网上有一个“luocheng”的“完美版”popup.js,下载下来试用了下,结果并没有完全兼容FF和Chrome,还是存在遮罩层无法全屏的bug,读了一下源代码,找到了错误所在:luocheng的版本中增加了一个getValue方法,switch语句中的case "clientHeight":竟然有两个!删掉一个以后继续测试,还是无法兼容FF和Chrome,继续读代码排错,增加的setBackgroundSize方法中G('dialogBoxBG').style.height = getValueHeight;只是复制给遮罩层dialogBoxBG的height=整数值,这个是不遵循web标准的,所以在FF和Chrome下存在bug。
setBackgroundSize: function() {
var getValueWidth;
var getMaxValueWidth = [getValue("clientWidth"), getValue("scrollWidth")];
getValueWidth = eval("Math.max(" + getMaxValueWidth.toString() + ")");
G('dialogBoxBG').style.width = getValueWidth;
var getValueHeight;
var getMaxValueHeight = [getValue("clientHeight"), getValue("scrollHeight")];
getValueHeight = eval("Math.max(" + getMaxValueHeight.toString() + ")");
G('dialogBoxBG').style.height = getValueHeight; },
解决方法很简单:G('dialogBoxBG').style.height = getValueHeight;修改成G('dialogBoxBG').style.height = getValueHeight + "px";即可。
所以大家以后在开发过程中,注意对于宽度与高度最好加上'px';这样的单位。
令附上获取页面高度在不同浏览器之间的差异参考资料:
clientHeight:在IE和FF下,该属性没什么差别,都是指浏览器的可视区域,即除去浏览器的那些工具栏状态栏剩下的页面展示空间的高度;
scrollHeight:在IE下,scrollHeight 是页面实际内容的高度,可以小于clientHeight;在FF下,scrollHeight 是网页内容高度,不过最小值是clientHeight。
/*******************************************************/
拓展方法:
1.弹出确认框回调执行服务器端方法
function ShowConfirm(title, content, target) //显示确认对话框
{
var pop = new Popup({
contentType: 3,
isReloadOnClose: false,
width: 350,
height: 110
});
pop.setContent("title", title);
pop.setContent("confirmCon", content);
pop.setContent("callBack", ShowCallBackServer); //回调函数
pop.setContent("parameter", {
id: "divCall",
str: target,
obj: pop
});
pop.build();
pop.show();
popp = pop;
return false;
}
//执行服务器端方法,即进行__doPostBack('','')操作
function ShowCallBackServer(para) {
var str = para["str"];
if ("" != str && null != str) {
str = GetEachBtnName(str);
if ("" != str && null != str) {
//alert(str);
__doPostBack(str, '');
}
}
ClosePop();
}
//遍历页面中的Button名称
function GetEachBtnName(obj) {
return obj.name == '' || obj.name == null ? obj.id : obj.name;
}
使用方法:
在一个有OnClick="btnTest_Click" 的Button控件上注册OnClientClick为return ShowConfirm(' ','是否确定删除?',this)。
完整代码:
2.在iframe中使用popup.js
我们在一个页面中内嵌了一个iframe,想让iframe中弹出的对话框或者确认框在父页面中弹出来,实现遮罩层全屏而不是只是在iframe页面中全屏,然后确认后执行回调操作iframe,可以是执行iframe中的服务器端方法。
function ShowConfirmIFrame(title, content, target) //显示确认对话框
{
var pop = new Popup({
contentType: 3,
isReloadOnClose: false,
width: 350,
height: 110
});
pop.setContent("title", title);
pop.setContent("confirmCon", content);
pop.setContent("callBack", ShowIFrame); //回调函数
pop.setContent("parameter", {
id: "divCall",
str: target,
obj: pop
});
temp = target;
pop.build();
pop.show();
popp = pop;
return false;
}
var temp;
function ShowIFrame() {
parent.frames["content"].window.ShowCallBackServerIFrame(temp);
// parent.window.iframe.ShowCallBackServer();
}
function ShowCallBackServerIFrame(para) {
var str = para;
if ("" != str && null != str) {
str = GetEachBtnName(str);
if ("" != str && null != str) {
__doPostBack(str, '');
}
}
closeWin();
}
使用方法:
iframe中定义js方法:
//删除
function subDel(obj)
{
return parent.parentDel(obj);
}
Button按钮控件注册OnClientClick事件:
父页面定义js方法:
function parentDel(obj)
{
return ShowConfirmIFrame('删除','是否确定删除?',obj);
}
popup.js进化版与普通修正版下载 原版也修正了上面所说的并没有完全兼容FF和Chrome的问题。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

機器之能報道編輯:吳昕國內版的人形機器人+大模型組隊,首次完成疊衣服這類複雜柔性材料的操作任務。隨著融合了OpenAI多模態大模型的Figure01揭開神秘面紗,國內同行的相關進展一直備受關注。就在昨天,國內"人形機器人第一股"優必選發布了人形機器人WalkerS深入融合百度文心大模型後的首個Demo,展示了一些有趣的新功能。現在,得到百度文心大模型能力加持的WalkerS是這個樣子的。和Figure01一樣,WalkerS沒有走動,而是站在桌子後面完成一系列任務。它可以聽從人類的命令,折疊衣物

5月15日,百度Apollo在武漢百度蘿蔔快跑汽車機器人智行谷舉辦ApolloDay2024,全方位展示百度十年深耕自動駕駛的重大進展,基於大模型帶來技術階躍、面向乘客安全全新定義的無人車和全球最大的無人車自動營運網絡,百度已經做到自動駕駛比人類駕駛更安全。得益於此,更安全舒適、綠色低碳的出行方式正從理想成為現實。百度集團副總裁、智慧駕駛事業群組總裁王雲鵬現場表示:「我們做無人車的初衷,是滿足老百姓日益增長的、對美好出行的嚮往,人民群眾的滿意是我們前進的動力。因為安全、所以美好,我們欣喜地看到

本站5月7日消息,5月6日,百度創辦人、董事長兼執行長李彥宏帶隊在北京拜訪中國石油天然氣集團有限公司(以下簡稱「中國石油」),並與中國石油集團董事長、黨組書記戴厚良舉行會談。雙方就強化合作,推動能源產業與數位化智慧化深度融合進行了深入交流。中國石油將加速推動數位中中國石油建設,加強與百度集團合作,推動能源產業與數位化智慧化的深度融合,為保障國家能源安全做出更大貢獻。李彥宏表示,大模型展現的「智慧湧現」與理解、生成、邏輯、記憶等核心能力,為前沿科技與油氣業務結合開啟了更廣闊的想像空間。一直

在息壤中有不少用戶不知道貝殼在哪裡,怎麼才能獲得,有些玩家轉了幾個小時候都沒有找到,下面小編就帶來了百度息壤貝殼的獲取方法,快來一起看看吧。百度息壤貝殼怎麼獲得1、首先我們需要來到社區,然後來到下圖的這個位置。 2、在這裡選擇目的地,選擇進入188樓。 3.進入188層後,在周圍轉悠會有這個提示,點擊我知道了就行。 4.貝殼的位置可能會有些難找,就在188電梯的後面,有個發光的小點就是貝殼。 5.撿貝殼要用VR把手才能撿,點擊貝殼就可以了。兌換方式1、先點選頁面右上方的「設定」圖標,在設定中選擇「

DeepSeek 是一款強大的智能搜索與分析工具,提供網頁版和官網兩種訪問方式。網頁版便捷高效,免安裝即可使用;官網則提供全面產品信息、下載資源和支持服務。無論個人還是企業用戶,都可以通過 DeepSeek 輕鬆獲取和分析海量數據,提升工作效率、輔助決策和促進創新。

5月31日消息,根據部落客@i冰宇宙今日爆料,三星GalaxyS24系列手機國行版「即圈即搜」將支援Google搜尋。具體上線時間,該部落客並未透露。根據三星先前介紹,三星GalaxyS24系列實裝了眾多高階AI能力,將輸入、翻譯、錄音機、筆記、相機等實用功能AI化,為使用者帶來更方便、更有效率的綜合體驗。與海外版不同的是,三星GalaxyS24系列的AI功能大多由國內廠商提供服務,例如百度等。先前報導,GalaxyAI深度整合百度文心大模型多項能力,可提供端側賦能的通話、翻譯功能,以及借助生成式AI帶來的智能摘

本文介紹了六款受歡迎的 AI 工具,包括抖音豆包、文心一格、騰訊智影、百度飛槳 EasyDL、百度 AI Studio 和訊飛星火認知大模型。這些工具涵蓋不同的功能,如文字創作、圖像生成、影片編輯和 AI 模型開發。選擇合適的 AI 工具需要考慮功能需求、技術水平和成本預算等因素。這些工具為需要 AI 輔助的個人和企業提供了方便且有效率的解決方案。

在4月16日,CNMO了解到,百度創始人兼CEO李彥宏在Create2024百度AI開發者大會上宣稱,在當今的大模型生態下,開源模型會越來越落後。他解釋說,百度基礎模型文心4.0可根據不同需求,在效果、響應速度和推理成本等方面靈活剪裁,生成適應各種場景的精簡模型,並支持精簡和postpretrain。相較於直接使用開源模型,文心4.0剪裁出的模型在同等尺寸下表現更佳,並在同等效果下成本更低,因此他預測開源模型將會越來越落後。在先前百度財報的電話會上,李彥宏透露,百度智慧雲端第四季營收達84億元,其中
