日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[Silverlight]奇技银巧系列-3

發(fā)布時間:2023/12/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Silverlight]奇技银巧系列-3 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Silverlight奇技銀巧系列:

所有該系列中的文章只為介紹一些Silverlight中或隱藏在Silverlight .NET framework鮮為人知的知識和技巧。這些文章并非教程,也是不是什么技術(shù)指導(dǎo),您只需對文章介紹的內(nèi)容保有印象。這些知識和技巧也許會在不經(jīng)意間綻放銀色光芒。

干web的朋友應(yīng)該都知道,幾年前有一段代碼相當(dāng)流行,其主要目的是:防止網(wǎng)頁被框架。想想也是,自己辛苦搞出來的網(wǎng)頁被人家隨意frame/iframe的確是不爽的。

而silverlight這種玩意,站外引用什么的就更容易了。所謂魔高一尺那啥高一丈,我們可以做點小動作來防止自己的silverlight application被人家引用。

代碼說起來就太簡單了,在App.xaml.cs的Application_Startup中加入:

if (!App.Current.Host.Settings.EnableHTMLAccess)throw new Exception("當(dāng)前應(yīng)用程序未允許與DOM通信");string htmlUrl = System.Windows.Browser.HtmlPage.Document.DocumentUri.ToString();if (!htmlUrl.Equals("http://foo.com/mypage.html"))throw new Exception("您無權(quán)使用該應(yīng)用程序");

其中的http://foo.com/mypage.html就是你希望當(dāng)前silverlight應(yīng)用程序宿主的頁面地址。這樣結(jié)合防止frame就可以有效防止別人引用你的勞動成果啦。

最后看一下Settings中的屬性,

public sealed class Settings {public Settings();public bool EnableAutoZoom { get; set; }public bool EnableCacheVisualization { get; set; }public bool EnableFrameRateCounter { get; set; } public bool EnableGPUAcceleration { get; } public bool EnableHTMLAccess { get; }public bool EnableRedrawRegions { get; set; }public int MaxFrameRate { get; set; }public bool Windowless { get; }}

他們分別對應(yīng)初始化silverlight(js控制)時的設(shè)置。如果我們要使用Host的相關(guān)屬性、控制DOM、與js通信,那么EnableHTMLAccess 必須為True。

總結(jié)

以上是生活随笔為你收集整理的[Silverlight]奇技银巧系列-3的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。