最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當前位置: 首頁 - 科技 - 知識百科 - 正文

子窗口、父窗口和Silverlight之間的相互調(diào)用_javascript技巧

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 20:54:38
文檔

子窗口、父窗口和Silverlight之間的相互調(diào)用_javascript技巧

子窗口、父窗口和Silverlight之間的相互調(diào)用_javascript技巧:其實,他們之間的調(diào)用還是很簡單的~ 基礎(chǔ)篇 一、父頁面調(diào)用子頁面中的JS 我們先創(chuàng)建一個子窗體 代碼如下: var win $(function () { Root = $('#Root').val();//設(shè)置根目錄 }); function OpenPlayer(id, type, add) { //這
推薦度:
導讀子窗口、父窗口和Silverlight之間的相互調(diào)用_javascript技巧:其實,他們之間的調(diào)用還是很簡單的~ 基礎(chǔ)篇 一、父頁面調(diào)用子頁面中的JS 我們先創(chuàng)建一個子窗體 代碼如下: var win $(function () { Root = $('#Root').val();//設(shè)置根目錄 }); function OpenPlayer(id, type, add) { //這

其實,他們之間的調(diào)用還是很簡單的~
基礎(chǔ)篇
一、父頁面調(diào)用子頁面中的JS
我們先創(chuàng)建一個子窗體
代碼如下:
var win
$(function () {
Root = $('#Root').val();//設(shè)置根目錄
});
function OpenPlayer(id, type, add) {
//這里是用來限制同一個窗口只能彈出一次的
//其實就算不做限制,只要window.open參數(shù)中的name相同,就不會重復打開
//window.open中的參數(shù)可以參考別的文章,有很多
if (win == null || win.closed) {
win = window.open('http://loaclhost/sl.aspx', 'win', 'width=870,height=650,top=1,left=0,scrollbars=0,resizable=0,status=1', true);
}

那怎么調(diào)用呢?
代碼如下:
this.alert('hello world!');
win.alert('hello world!');
win.onload = function () { this.alert('test'); };

眾所周知,第一行是在本窗口彈出一個提示框(this可以一般都會省略~)
那其實,this和win指向的是同類型,不同的對象罷了
所以,他們的方法都是一樣的。
第二行就是在子窗口中彈出一個提示框的代碼。
你還可以在父窗體中寫子窗體的事件~
第三行的作用是,當子窗體加載完成后,父窗口彈出提示框。
二、子窗體調(diào)用父窗體
這個和上面差不多,當父窗體打開一個子窗體后,你可以這樣訪問到父窗體
window.opener
這個對象就是父窗體,直接調(diào)用相應(yīng)的函數(shù)即可
三、子窗體調(diào)用silverlight函數(shù)或?qū)ο?
這個在MSND上有詳細介紹,中文的~在這里,我?guī)痛蠹姨嵋幌轮饕膸讉€步驟(調(diào)用silverlight對象的方法就不貼出來了,里面有)
另附 傳送門:
1、現(xiàn)在silverlight中,給需要被調(diào)用的函數(shù)加上一個attribute——ScriptableMember
代碼如下:
// MyScriptableManagedType.cs
using System.Windows.Browser;
namespace HB {
public class MyScriptableManagedType {
[ScriptableMember()]
public string MyToUpper(string str) {
return str.ToUpper();
}
[ScriptableMember()]
public string Name { get; set; }
}
}

2、在構(gòu)造函數(shù)中注冊這個對象
代碼如下:
MyScriptableManagedType smt = new MyScriptableManagedType();
HtmlPage.RegisterScriptableObject("mySLapp", smt);
//如果這個函數(shù)不是外部類中的函數(shù),而是sl主體的函數(shù),那直接傳入this指針就可以了

3、打開slverlight所在的頁面
在 Silverlight 對象標記中,添加具有值"pluginLoaded"的 onLoad 屬性。
下面的示例演示用于 Silverlight 控件引用的 HTML 標記。
代碼如下:
type="application/x-silverlight-2" width="100%" height="100%">






4、在頁上現(xiàn)有的 script 元素中,添加 pluginLoaded 方法的 JavaScript 函數(shù)。
使用 getHost 方法獲取對 Silverlight 控件的引用。下面的示例演示 pluginLoaded 方法的 JavaScript 代碼。
代碼如下:

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

子窗口、父窗口和Silverlight之間的相互調(diào)用_javascript技巧

子窗口、父窗口和Silverlight之間的相互調(diào)用_javascript技巧:其實,他們之間的調(diào)用還是很簡單的~ 基礎(chǔ)篇 一、父頁面調(diào)用子頁面中的JS 我們先創(chuàng)建一個子窗體 代碼如下: var win $(function () { Root = $('#Root').val();//設(shè)置根目錄 }); function OpenPlayer(id, type, add) { //這
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top