分享 將業務系統頁面嵌入到統一平台中(簡易版)

2022-07-08 18:36:16 字數 1631 閱讀 7997

前段時間開發的乙個業務系統,需要將其對接嵌入到統一的工作平台中。

其主要目標是:

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,

因為比較簡單,直接上**了:

function

redirecttopage(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...