前段時間開發的乙個業務系統,需要將其對接嵌入到統一的工作平台中。
其主要目標是:
1、在新視窗開啟工作區域(彈出新頁面);
2、避免使用者直觀的看到頁面傳遞的引數,也就是隱藏url。
關於iframe的好處和壞處,網上已有很多比較全面的解釋。這篇文章有比較詳細、全面的介紹:傳送門
這裡再次熟悉一下iframe的常用屬性:
1.frameborder:是否顯示邊框,1(yes),0(no)
2.height:框架作為乙個普通元素的高度,建議在使用css設定。
3.width:框架作為乙個普通元素的寬度,建議使用css設定。
4.name:框架的名稱,window.frames[name]時專用的屬性。
5.scrolling:框架的是否滾動。yes,no,auto。
7.srcdoc , 用來替代原來html body裡面的內容。但是ie不支援
8.sandbox: 對iframe進行一些列限制,ie10+支援
對於1中的要求應該是最直觀來的,首先就是open乙個靜態的html頁面,open的時候塞入要傳入的引數,此處主要為url,
因為比較簡單,直接上**了:
functionredirecttopage(pgurl)
接下來就是處理該index.html靜態頁面了,也就是2中提及的要求,需要一些具體的處理邏輯。
首先,index.html靜態頁面需要包括乙個單純的iframe,如
當然,還需要頁面載入之後resize一下iframe的大小,具體**如下:
$(document).ready(function() window.onresize =iframeheight;
$(function
() );
//此處獲取傳入的url,並設定iframe的src值
$('#content').attr('src', getiframesrc());
});
其次就是上面**注釋處的寫法了,上處 getiframesrc()方法就比較有趣了,但可操作性太多。不在此一一闡述。文章最後我會給出最簡單的示例。
具體玩法就是根據open的靜態頁面帶入的引數值進行獲取和解析,至於怎麼傳,自定義加個密,編個碼都可以,要是意猶未盡,甚至加個隨機token也行!總的來說,就是不要太赤裸裸的暴露url位址,這也是此文的初衷。
總結:本文的技術要求不高,但實現方式較多。本文採取了一種最常見的辦法實現。希望拋磚引玉~
下面是getiframesrc()的簡易實現**:
//簡單的字串加密
function
compilestr(code)
return
escape(c);
}//簡單的對應字串解密
function
uncompilestr(code)
return
c; }
function
getiframesrc()
else}}
return "";
}
vue元件嵌入iframe與其他系統頁面跨域通訊
今天在專案中用到在元件中嵌入iframe呼叫另乙個vue專案中的元件頁面 如上圖,擼主在vue元件中嵌入的iframe.ok,現在我們需要給嵌入iframe中的子頁面 也就是另乙個vue專案中的頁面傳遞資訊 父頁面呼叫就是給iframe的ref賦值,然後我們根據 this.res.iframe.co...
將OSG嵌入QT視窗系統中,實現拖拽介面
osg底層使用的是opengl圖形系統,qt也增加了對opengl的支援,因此,可以通過qt的opengl模組,實現將osg視窗嵌入到qt中,這樣可以充分利用qt的ui介面設計,滿足osg的2d的介面系統的不足。當然除了使用osg做2d渲染特效,可以盡情享受qt介面設計帶來的方便。qt中,場景檢視模...
如何將ubuntu系統的man幫助頁面設定成中文版
一.先安裝所需要的依賴包 1.automake 工具 sudo apt get install autoconf automake libtool 2.git工具 sudo apt get install git git clone 二.安裝操作步驟如下 1 sudo mkdir usr local...