現在有IE瀏覽器進程,已經打開某網站,
希望通過C# 讓此IE窗口執行某腳本,如<script>alert();</script>
1,不寫IE插件回
2,不藉助第三答方瀏覽器,只針對IE
3,不使用Winform的WebBrowser控制項.
知道的朋友給個思路
補充說明:
我使用下面這段代碼試了,'aaaaaaaaa'會在頁面中顯示出來,但是後面那段js腳本卻沒有運行.很奇怪.
ShellWindows m_IEFoundBrowsers = new ShellWindowsClass();
foreach (InternetExplorer Browser in m_IEFoundBrowsers)
{
if (Browser.Document is HTMLDocumentClass)
{
HTMLDocument doc = Browser.Document as HTMLDocumentClass;
doc.body.innerHTML += "aaaaaaaaa<script type=\"text/javascript\">alert(11);</script>";
② 如何繞過js驗證,進行數據注入
在頁面上右鍵-->查看源文件-->ctrl+a-->ctrl+c
然後在桌面上建一個記事本,擴展名改成.html,把代碼專復制進去,
把js全部刪除後屬,保存刷新一下,就OK了,不過應該也沒什麼用,
現在一般都有了伺服器端驗證。
③ 微信js sdk 介面注入參數怎麼生成
在使用微信JS-SDK對應的JS介面前,需確保公眾號已獲得使用對應JS介面的許可權,可登錄微信公眾平台進入「開發者中心」查看對應的介面許可權。
注意: 所有的JS介面只能在公眾號綁定的域名下調用,公眾號開發者需要先登錄微信公眾平台進入「公眾號設置」》「功能設置」里填寫「JS介面安全域名」。
步驟一:引入JS文件
在需要調用JS介面的頁面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.0.0.js
備註:支持使用 AMD/CMD 標准模塊載入方法載入
步驟二:通過config介面注入許可權驗證配置
所有需要使用JS-SDK的頁面必須先注入配置信息,否則將無法調用(同一個url僅需調用一次,對於變化url的SPA的web app可在每次url變化時進行調用)。
wx.config({
debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會列印。
appId: '', // 必填,公眾號的唯一標識
timestamp: , // 必填,生成簽名的時間戳
nonceStr: '', // 必填,生成簽名的隨機串
signature: '',// 必填,簽名,見附錄1
jsApiList: [] // 必填,需要使用的JS介面列表,所有JS介面列表見附錄2
});
步驟三:通過ready介面處理成功驗證
wx.ready(function(){
// config信息驗證後會執行ready方法,所有介面調用都必須在config介面獲得結果之後,config是一個客戶端的非同步操作,所以如果需要在頁面載入時就調用相關介面,則須把相關介面放在ready函數中調用來確保正確執行。對於用戶觸發時才調用的介面,則可以直接調用,不需要放在ready函數中。
});
步驟四:通過error介面處理失敗驗證
wx.error(function(res){
// config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對於SPA可以在這里更新簽名。
});
④ angularjs怎麼查看注入了什麼依賴
依賴注入
依賴注入是軟體設計模式中的一部分,用於處理組件是如何得到它說依賴的其它組件的。
Angular的注入器子系統(Angular是由多個系統組成)是負責創建組件,解決它們之間的依賴關系,並且根據它們的需要,給它們提供所需要的組件的實例。
使用依賴注入
依賴注入(DI)是貫通了整個angularjs的。當這個組件定義了,或者在mole的run方法config方法中定義了它們,你就可以在這個mole的任何地方使用這個組件了。
1、諸如:服務(service)、指令(directive)、過濾器(filter)和動畫(animation)組件,都是通過注入器的工廠(factory)方法或者在構造函數中定義的。這些組件可以注入service"(服務) 或者 "value"(值)。
2、控制器(controller)就是使用構造函數的方式進行定義的。它可以注入service"(服務) 或者 "value"(值)。
3、run方法接收一個function函數,它裡面可以注入服務(service)或者值(value)亦或常量(constant),然後可以被注入到需要它們的組件當中去(注意,這里可以定義一些常量哦!)。提示:在run中,你不能注入「provider」哦!
4、config方法接收一個function函數,它可以注入"provider" and "constant"(常量)。提示:在config方法中,你不可以注入"service"(服務) 或者 "value"(值)。
關於模塊Moles的run方法和config方法的更多信息,請點擊這里。
工廠(factory)方法
使用factory來定義指令(directive),服務(service)或者過濾器(filter)。factory方法是注冊在mole(模塊)下的。我們推薦你這樣來定義factory:
12345678910angular.mole('myMole', []).factory('serviceId', ['depService', function(depService) {// ...}]).directive('directiveName', ['depService', function(depService) {// ...}]).filter('filterName', ['depService', function(depService) {// ...}]);模塊兒(mole)的方法
我們可以指定方法在configuration(配置環境)下運行,也可以在mole(模塊)的運行時,通過調用config方法和run方法來運行。
1234567angular.mole('myMole', []).config(['depProvider', function(depProvider) {// ...}]).run(['depService', function(depService) {// ...}]);控制器
我們推薦如下的方式來注冊一個Controller:
1234567someMole.controller('MyController', ['$scope', 'dep1', 'dep2', function($scope, dep1, dep2) {...$scope.aMethod = function() {...}...}]);不像服務一樣,在應用程序中,相同的controller是可以有多個實例的哈。
依賴性的聲明
在Angular中,調用一些方法都是使用注入的方式進行調用的,例如:service factory,controller。那麼你就必須將它們所使用的組件給注入進去,以提供它們使用。有以下三種方式進行依賴關系的聲明。
1、使用內聯數組的聲明方式
2、使用$inject屬性來聲明
3、隱式聲明方式(不推薦,並且會有警告)
一、內聯數組的聲明方式
這是非常好的一種聲明依賴性的方式。來一個例子:
123someMole.controller('MyController', ['$scope', 'greeter', function($scope, greeter) {// ...}]);我們使用一個數組,這個數組由兩部分元素組成,一個用於聲明依賴性的字元串集合和最後一個元素(這個元素是一個方法,用於自己的實現)。
二、$inject屬性進行聲明
直接上個例子:
12345varMyController = function($scope, greeter) {// ...}MyController.$inject = ['$scope', 'greeter'];someMole.controller('MyController', MyController);需要注意的是,$inject數組中的依賴,必須與MyController控制器中的參數一 一對應。
三、隱式聲明
注意:如果你打算使用這種方式去運行代碼,你的服務的名稱可能會被重命名,服務也可能會在你的應用中被玩壞。
這是最簡單的一種聲明方式,你只要保證你的參數名稱和依賴的組件名稱能對得上。
123someMole.controller('MyController', function($scope, greeter) {// ...});在上面的例子當中,$scope服務和greeter服務會被注入到controller裡面去。這種方式的一個好處就是少了依賴性聲明的數組的存在。而且可以很自由的重新排列你的依賴性。
但是,這個方法在混淆和壓縮後是沒有發用的。是無法正常工作的。因為這些動作都會重命名你的參數。呃呃呃……
ng-annotate工具可以方便的讓你在你的應用中使用這個隱式聲明模式,因為它會在進行壓縮或者混淆的時候自動把你的聲明方式給改成我們推薦的內聯方式進行聲明,如果你想使用這種方式,可能你需要使用ng-strict-di(嚴格模式)。
正因為這種方式要使用嚴格模式,我們需要很小心,所以,一般我們都不會使用這種方式。
使用嚴格的依賴注入
你可以把ng-strict-di指令增加到ng-app指令所在的元素上,來使得你的應用使用的是嚴格模式。
1234567<!doctype html><html ng-app="myApp"ng-strict-di><body>I can add: {{ 1 + 2 }}.<script src="angular.js"></script></body></html>嚴格模式下,如果你嘗試使用隱式方式來聲明的時候,就會拋異常。
1234567angular.mole('myApp', []).factory('willBreak', function($rootScope) {// $rootScope is implicitly injected}).run(['willBreak', function(willBreak) {// Angular will throw when this runs(執行到這里會報錯)}]);如果你是使用手動方式啟動應用的話,你也可以這樣來使用嚴格模式:
123angular.bootstrap(document, ['myApp'], {strictDi: true});⑤ oc與js交互 怎麼向網頁注入數據
oc與js交互 怎麼向網頁注入數據
下面的示例代碼將調用上面NativeOcClass的方法,在js層我們只需要這樣調用:
var ret = jsb.reflection.callStaticMethod("NativeOcClass",
"callNativeUIWithTitle:andContent:",
"cocos2d-js",
"Yes! you call a Native UI from Reflection");
這里是這個方法在OC的實現,可以看到是彈出一個native的對話框。並把title和content設置成你傳入的參數,並返回一個boolean類型的返回值。
+(BOOL)callNativeUIWithTitle:(NSString *) title andContent:(NSString *)content{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:title message:content delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
[alertView show];
return true;
}
⑥ 什麼是js注入
JavaScript注入就是在瀏覽器地址欄中輸入一段js代碼,用來改變頁面js變數、頁面標簽的內容。
使用Javascript注入專,用戶不需要關閉或保存屬網頁就可以改變其內容,這是在瀏覽器的地址欄上完成的。命令的語法如下:
javascript:alert(#command#)
⑦ 微信js sdk 介面注入參數怎麼生成
在使用 JS-SDK對應的JS介面前,需確保公眾號已獲得使用對應JS介面的許可權,可登錄 公眾平台進入「開發者中心」查看對應的介面許可權。注意:所有的JS介面只能在公眾號綁定的域名下調用,公眾號開發者需要先登錄 公眾平台進入「公眾號設置」》「功能設置」里填寫「JS介面安全域名」。步驟一:引入JS文件在需要調用JS介面的頁面引入如下JS文件,(支持https):/open/js/jweixin-1.0.0.js備註:支持使用AMD/CMD標准模塊載入方法載入步驟二:通過config介面注入許可權驗證配置所有需要使用JS-SDK的頁面必須先注入配置信息,否則將無法調用(同一個url僅需調用一次,對於變化url的SPA的webapp可在每次url變化時進行調用)。wx.config({debug:true,//開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會列印。appId:'',//必填,公眾號的唯一標識timestamp:,//必填,生成簽名的時間戳nonceStr:'',//必填,生成簽名的隨機串signature:'',//必填,簽名,見附錄1jsApiList:[]//必填,需要使用的JS介面列表,所有JS介面列表見附錄2});步驟三:通過ready介面處理成功驗證wx.ready(function(){//config信息驗證後會執行ready方法,所有介面調用都必須在config介面獲得結果之後,config是一個客戶端的非同步操作,所以如果需要在頁面載入時就調用相關介面,則須把相關介面放在ready函數中調用來確保正確執行。對於用戶觸發時才調用的介面,則可以直接調用,不需要放在ready函數中。});步驟四:通過error介面處理失敗驗證wx.error(function(res){//config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對於SPA可以在這里更新簽名。});
⑧ 第三方應用的js是怎麼注入的另個一個app的
混合應用,本身就不應該做跳轉鏈接。由於協議不是http,所以用鏈接去做網頁的跳轉本身就有很多問題的。 混合應用一般都是做的單頁應用,如果你不是很了解,可以網路一下。簡單的說,就是一個主頁面,然後不同的頁面都通過ajax來載入。