源:升學就業(yè)幫講師——肖云銳
BOM對象學習網(wǎng)站:
學習網(wǎng)站
1 認識BOM對象
1.1 什么是BOM
BOM是Browser Object Model的簡寫,即瀏覽器對象模型。
BOM由一系列對象組成,用于訪問、控制、修改瀏覽器的屬性和方法。
BOM沒有統(tǒng)一的標準(每種客戶端(IE/google瀏覽器)都可以自定標準。
1.2 理解示意圖
BOM的頂層是window對象,window下面包含一些瀏覽器相關(guān)對象,例如文檔對象document,地址欄對象location,導(dǎo)航對象navigation,屏幕對象screen,歷史記錄對象history,如下圖所示:
1.3 Window對象
常用的方法:
alert(); // 彈出一個提示框.
confirm()// 彈出一個確認框
prompt(); // 輸入框
setTimeout(); // 延時任務(wù)
setInterval(); // 周期任務(wù)
clearTimeout(); // 清除延時任務(wù)
clearInterval(); // 清除周期任務(wù)
open(); // 打開新的窗口
close(); // 關(guān)閉指定窗口
代碼示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BOM對象</title>
<script>
/*
alert(); // 彈出一個提示框.
confirm()// 彈出一個確認框
prompt(); // 輸入框
setTimeout(); // 延時任務(wù)
setInterval(); // 周期任務(wù)
clearTimeout(); // 清除延時任務(wù)
clearInterval(); // 清除周期任務(wù)
open(); // 打開新的窗口
close(); // 關(guān)閉指定窗口
*/
// alert(); 彈出一個提示框.
function poupWindow() {
alert("我被點擊了");
}
// confirm() 彈出一個確認框
function confirmWindow() {
var flag = confirm("確定刪除嗎?");
if (flag) {
alert("刪除成功!!!");
} else {
alert("取消!!!");
}
}
// prompt(); 輸入框
function promptWindow() {
var age = prompt("請輸入您的年齡:", 18);
alert("您輸入的年齡是: " + age);
}
var taskId = null;
// setTimeout(); 延時任務(wù)
function task() {
alert("任務(wù)開始了!!!");
}
function startTask() {
id = setTimeout(task, 3000);
}
// clearTimeout() 清除延時任務(wù)
function stopTask() {
clearTimeout(id);
}
var intervalId = 0;
// setInterval();
// 周期任務(wù) function startIntervalTask() {
if (intervalId == 0) {
intervalId = setInterval(function () {
var date = new Date();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds(); console.log(hour + ": " + minute + ": " + second);
}, 1000);
}
}
function stopIntervalTask() {
if(intervalId != 0) {
clearInterval(intervalId);
intervalId = 0;
}
}
var bdWin = null;
// open();
// 打開新的窗口
function openWindow() {
var url = "http://www.baidu.com";
bdWin = open(url);
}
// close(); // 關(guān)閉指定窗口
function closeWindow() {
bdWin.close();
}
</script>
</head>
<body>
<input type="button" value="彈出框" onclick="poupWindow();"> <br>
<input type="button" value="驗證框" onclick="confirmWindow();"> <br>
<input type="button" value="提示框" onclick="promptWindow();"> <br>
<input type="button" value="提示框" onclick="promptWindow();"> <br>
<input type="button" value="開啟延時任務(wù)" onclick="startTask();"> <br>
<input type="button" value="停止延時任務(wù)" onclick="stopTask();"> <br>
<input type="button" value="開始周期任務(wù)" onclick="startIntervalTask();"> <br>
<input type="button" value="停止周期任務(wù)" onclick="stopIntervalTask();"> <br>
<input type="button" value="開啟窗口" onclick="openWindow();"> <br>
<input type="button" value="關(guān)閉窗口" onclick="closeWindow();"> <br>
</body>
</html>
1.4 History對象:瀏覽器的歷史對象
常用的方法
back()go()forward()
需求: A頁面跳轉(zhuǎn)到B頁面,B頁面后退到A頁面,A頁面前進到B頁面
代碼示例
A頁面代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>A</title>
<script>
function go() {
location.href = "B.html";
}
function forward() {
history.forward();
}
</script>
</head>
<body>
A Page
<input type="button" value="go" onclick="go()">
<input type="button" value="前進" onclick="forward()">
</body>
</html>
B頁面代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>history對象</title>
<script>
function goback() {
history.back();
}
</script>
</head>
<body>
B page
<input type="button" value="后退" onclick="goback()">
</body>
</html>
1.5 location對象: 地址欄對象
常用屬性和方法:
host:ip:端口hostname: ipport:端口pathname:路徑href: url全路徑reload: 重新加載當前頁面replace: 替換當前頁面location.href=url: 跳轉(zhuǎn)到指定頁面
代碼示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BOM對象_location對象</title>
<script>
function showLocationInfo() {
console.log(location.href);
console.log(location.host);
console.log(location.port);
console.log(location.hostname);
console.log(location.pathname);
}
function reloadCurrentPage() {
location.reload();
}
function replaceCurrentPage() {
location.replace("http://www.taobao.com");
}
function jumpPage() {
location.href = "http://www.baidu.com";
}
</script>
</head>
<body>
<input type="button" value="locationInfo" onclick="showLocationInfo()">
<input type="button" value="reloadCurrentPage" onclick="reloadCurrentPage()">
<input type="button" value="replaceCurrentPage" onclick="replaceCurrentPage()">
<input type="button" value="jumpPage" onclick="jumpPage()">
</body>
</html>
1.6 Screen對象:屏幕對象
常用屬性:
widthheight
1.7 Navigator對象:瀏覽器對象
常用屬性:無
示例代碼
SOLIDWORKS Composer支持多種3D數(shù)據(jù)格式的輸入,其中包括SOLIDWORKS、CATIA、PRO/E、Inventor 等多種軟件。前面幾期也做過相關(guān)介紹,將現(xiàn)有的3D數(shù)據(jù)導(dǎo)入SOLIDWORKS Composer中,可以快速的制作動畫,技術(shù)手冊及3D交互式內(nèi)容。可以將這些內(nèi)容保存為圖像和動畫為JPG光柵圖像圖片,SVG矢量圖像圖片和AVI動畫。
至此,這些互動式檔案和動畫,我們只能放在電腦或手機中觀看及操作。如果我們想將此文文件放在網(wǎng)絡(luò)上并同樣實現(xiàn)互動式操作,那么,我們就需要使用SOLIDWORKS Composer發(fā)布功能,將文件轉(zhuǎn)化為HTML檔。小編在此將和大家一起來探討如何發(fā)布SOLIDWORKS Composer文件到默認的HTML模板和自定義HTML。
首先,發(fā)布一個SOLIDWORKS Composer文件到默認的HTML模板,當安裝完成SOLIDWORKS Composer后,會自帶默認的HTML模板,位置如?SOLIDWORKS Composer install_dir?\Profile 文件夾中。
當把SOLIDWORKS Composer 中的內(nèi)容發(fā)布為HTML檔時,在菜單欄中選擇【文件】-【發(fā)布】-【HTML】(如圖1)。注意在此,會增加HTML輸出選項,SOLIDWORKS Composer 提供六種HTML輸出配置文件,包含BOM(零件表)、Full(完整)、Meta-properties(元屬性)、PMI、Simple(簡單)及View(視圖)版面格式,如(圖2)所示。我們可以根據(jù)需求來選擇需要哪種版面格式輸出。如果沒有選擇,系統(tǒng)會默認為Simple版面格式發(fā)布HTML文件。
發(fā)布HTML文件后,HTML頁面有哪些功能?(表1)可以詳細為大家解釋,我們可以根據(jù)我們的不同需求選擇相應(yīng)的配置,發(fā)布不同的HTML文件。
下面,我們選擇一個模型來發(fā)布HTML檔案,先打開SOLIDWORKS Composer并選取一個模型,并發(fā)布為HTML,選擇一個HTML輸出樣式,找到發(fā)布好的HTML文件,并使用IE瀏覽器打開HTML文件(注:自SOLIDWORKS Composer 2016 SP3開始支持Firefox瀏覽器),會跳出Active X 安全性警告,選擇【允許】,此刻,就能在網(wǎng)頁中查看SOLIDWORKS Composer制作的交互式檔案(如圖3)。注:若永久允許Active X 安全性警告,那么可在IE中選擇【工具】-【Internet選項】-【高級】中勾選‘允許活動內(nèi)容在我的電腦的文件中運行’(如圖4)。
此處注意,我們需要安裝SOLIDWORKS Composer Player Pro 且激活,如果沒有激活SOLIDWORKS Composer Player Pro,那么我們打開HTML檔案,可能將只會看到空白主窗口和工具列。
在HTML文件視口的右側(cè),有四個按鈕,相關(guān)功能如下(表2)。頁面其余部分顯示SOLIDWORKS Composer內(nèi)容。
如果我們需要分享HTML文件給他人,那么我們需要拷貝以下四部分內(nèi)容:
再者,我們也可以針對現(xiàn)有的HTML模板進行編輯(編輯前請備份原有模板),使用者可以用記事本之類的文本編輯器打開HTML文件,進行修改。
如果要想學習更多關(guān)于如何自定義HTML配置文件,可與我們生信技術(shù)團隊聯(lián)系,可發(fā)送郵件至marketing@solidwise.com進行相關(guān)資訊,我們將第一時間給您答復(fù)。
于網(wǎng)站主機到期,原主機空間小,空間已使用了83%多,續(xù)費費用高,增購空間的費用更是奇高無比,增加個500M空間就要幾百大洋。現(xiàn)在新買一臺主機空間大(阿里最低的主機都5G空間了)、流量高、寬帶也大,一年也就幾百元,所以就想更換一下網(wǎng)站的主機。可是新主機買好后,遷移過程發(fā)現(xiàn)用織夢系統(tǒng)搭建的網(wǎng)站遷移到新主機后臺卻出現(xiàn)幾個問題,現(xiàn)分享如下。
1、 網(wǎng)站后臺登錄頁面不顯示,如下圖所示;
后臺地址加上login.php才能正常顯示登錄界面,如下圖所示
2、 虛擬主機的php.ini設(shè)置中:輸出緩沖區(qū)數(shù)據(jù)塊設(shè)置:啟動,如下圖;
后臺地址不要再加login.php就可以正常顯示登錄頁面了,如下圖;
3、 后臺登錄頁面驗證碼顯示不正常:度娘上有人說是因為數(shù)據(jù)庫配置文件使用了windows自帶的文本編輯器修改信息保存后,文件包含了BOM格式引起驗證碼顯示不正常。但我用專業(yè)代碼編輯器sublime_text修改后,確認保存不帶BOM格式的,也還是顯示不正常。也有的人說要把sessions文件夾下除了index.html文件外都刪除,我也試了,還是顯示不正常。
4、 我的操作是根據(jù)有的人提示,干脆不要驗證碼了,把驗證碼給關(guān)掉。這個有兩種處理方法;
方法一、修改login.php登錄文件;
把:if(($validate=='' || $validate !=$svali) && preg_match("/6/",$safe_gdopen)){
改為:if(false){
這種處理方式后,驗證碼樣式還在,但已經(jīng)不要填驗證就可以正常登錄了;
方法二、修改data\safe\文件夾下面的inc_safe_config.php文件;
$safe_gdopen='1,2,3,4,5,6,7';
把這行中的6刪除即可,刪除6后刷新頁面效果如下圖,驗證碼輸入框不顯示也不要填了,直接賬號、密碼就可以正常登錄。
5、 在用第4點的中方法二時,我再把inc_safe_config.php文件中那一行把6給加回去,再刷新一下后臺頁面,一切都正常了,驗證碼已可以正常顯示輸入了。如下圖;
6、 總結(jié):頁面驗證碼正常后,我試著把數(shù)據(jù)配置文件保存成帶BOM格式的,并沒有出現(xiàn)驗證碼不顯示問題,所以我認為跟使用文本編輯器修改數(shù)據(jù)配置文件無關(guān)。但建議修改程序代碼還是要用專業(yè)編輯器,第一,看代碼直觀,有顏色好區(qū)分;第二,修改代碼時有沒有異常,專業(yè)編輯器都會有提醒;第三,確實很多代碼是因為保存的編碼不正確會造成程序異常;織夢這個驗證碼不顯示的問題,我反復(fù)試了三次,把站點文件全部刪除,再解壓部署,就只要按方式二處理一下驗證碼就顯示正常了。
好了,遷移用織夢系統(tǒng)建設(shè)的網(wǎng)站不能顯示驗證碼的問題就分享這里。
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。