iOS攔截webView的Alert與Confirm並讓地址不顯示,iOS隱藏(或重寫)webView彈出提示的title,http:xxx.xx
實現JS與OC 的互相呼叫,可參考這篇文章 OC與JS互調獲取系統圖片
這裡就不講呼叫的原來了,直接上解決webView中出現的提示title有地址的問題
1.首先新建擴充套件類繼承 JavaScript 名字為 UIWebView+JavaScript 點選next,建立後報錯,.h中把 @interface UIWebView_JavaScript : JavaScript 改成 @interface UIWebView (JavaScript) ; .m檔案中也需要把@implementation UIWebView_JavaScript 改成 @implementation UIWebView
(JavaScript);注意:如果使用了監聽 Confirm則需要為Alert 掛上代理(也就需要匯入代理),這樣方便判斷選擇的是“取消”還是“確定”,或者其他的按鈕。
下面是.h檔案中的內容
//
// UIWebView+JavaScript.h
// JS和iOS互動
//
// Created by user on 16/9/14.
// Copyright © 2016年 user. All rights reserved.
//
// 這是個擴充套件類
#import <UIKit/UIKit.h>
#import <JavaScriptCore/JavaScriptCore.h>// 引入系統框架
@interface UIWebView (JavaScript) <UIAlertViewDelegate>
@end
2.現在可以實現方法的監聽實現,直接在.m實現檔案中實現
// UIWebView+JavaScript.m // // // Created by user on 16/9/14. // Copyright © 2016年 user. All rights reserved. // #import "UIWebView+JavaScript.h" @implementation UIWebView (JavaScript) -(void)webView:(UIWebView *)webView runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(id)frame { NSLog(@"彈出提示++++++"); UIAlertView* alert = [[UIAlertView alloc]initWithTitle:@"提示:" message:message delegate:nil cancelButtonTitle:@"確定" otherButtonTitles:nil, nil];// 在這裡不用掛上代理 message 是webView裡JS中提示的內容 [alert show]; } static BOOL diagStat = NO; static NSInteger btIndex = -1;// 區別於 alert 消失是的按鈕 - (BOOL)webView:(UIWebView *)webView runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(id)frame { UIAlertView *confirmAlert = [[UIAlertView alloc] initWithTitle:@"助手提示"message:message delegate:self cancelButtonTitle:@"取消"otherButtonTitles:@"確定",nil]; // 這裡必須掛上代理 message 是webView裡JS中提示的內容 [confirmAlert show]; btIndex = -1; while (btIndex==-1) { //[NSThread sleepForTimeInterval:0.2]; [[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1f]]; } if (btIndex == 0) { //取消; diagStat = NO; } else if (btIndex == 1) { //確定; diagStat = YES; } return diagStat; } - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { btIndex = buttonIndex; if (buttonIndex == 0) { NSLog(@"取消 按鈕"); } else { NSLog(@"確定 按鈕"); } } @end
使用的時候,在載入webView中匯入該類的標頭檔案即可。特別注意的是,這裡是使用系統的 alertView替換html中的顯示的alert並不是同一個物件,所以獲取Confirm是,需要在上面的 alertViewDelegate中實現 OC呼叫JS的方法。
相關推薦
iOS攔截webView的Alert與Confirm並讓地址不顯示,iOS隱藏(或重寫)webView彈出提示的title,http:xxx.xx
實現JS與OC 的互相呼叫,可參考這篇文章 OC與JS互調獲取系統圖片 這裡就不講呼叫的原來了,直接上解決webView中出現的提示title有地址的問題 1.首先新建擴充套件類繼承 JavaScr
15行程式碼讓蘋果裝置崩潰,iOS 12也無法倖免
國外安全研究人員 Sabri Haddouche 發現了一個只需幾行程式碼就可以讓 iPhone 崩潰並重啟的方法。 Sabri Haddouche 在 GitHub 上釋出了一個示例網頁,只有 15 行程式碼,如果在 iPhone 或 iPad 上訪問這個頁面,就會崩潰並重啟。在 macOS 上使用 Sa
使用python處理中文csv檔案,並讓excel正確顯示中文(避免亂碼)
使用python2處理中文時,經常會出現亂碼問題,之前使用python處理中文csv檔案時,處理過程程式輸出出現了亂碼,最後在程式中能夠正常顯示出中文,但是匯出檔案時,使用excel打開出現了中文亂碼問
TP框架裏面當訪問不存在的操作方法時讓其不顯示錯誤頁面
操作 pub 不顯示 public 錯誤 ech function 用戶 額外 當訪問空操作方法或者不存在的錯誤的操作方法的時候: 在該控制器頁面裏面寫一個 public function _empty(){ echo "您訪問的頁面有誤"; } 的
vue禁用與啟用以及點選彈出提示框
一·, HTML <tr v-for="(item,index) in showData" :key="index"> <td>{{item.developer_id}}</td&
LigerUI 設定選中行顏色改變與設定水平滾動條不顯示
.l-grid-body { position: relative; width:100%; top: 0px; left: 0px; overflow: none;
【iOS開發-29】解決方案:TabBar的圖片不顯示,只顯示灰色的正方形
(1)現象 tabbar上的圖片變成一塊正方形的灰色塊塊,原先的圖片沒有了。 (2)原因 tabbar上的圖片本質上不是一個圖片,而是一個形狀圖片。系統對我們使用的圖片也只是把其中的形狀“扣”出來,其餘的背景什麼的都不要。因為我們可能給背景加了顏色,所以系統扣的時候只是把
img標籤src引用網路圖片,頁面不顯示,返回403錯誤,網路圖片地址在瀏覽器能載入,放html卻不能顯示
在html頁面加入<meta name="referrer" content="no-referrer">標籤,就可以解決頁面載入網路圖片的問題,原因大概是網路安全的問題,別人的頁面做了安全防護的問題。<head> <meta chars
XMLHttpRequest 與服務端的互動,以及layer子頁面關閉彈出框的總結
$("#btn").click(function(){ //父頁面 layer.open({ type: 2, title: '註冊', area: ['500px', '300px'],
[iOS diary] UIImageView,UILabel等加gesture recognizer不成功,神祕屬性userInteractionEnabled
某天,我對一個UIImageView addGestureRecognizer怎麼搞都沒有反應。後來,老大告訴我有這個屬性,我enable之發現還是不行,後來才發現我的UIImageView是add到另外一個UIImageView上的,把父層UIImageView enab
【HTML/JS】Img的src指向的圖片不存在,讓img不顯示出來
http://tuqiang9999.blog.163.com/blog/static/332413201211023431619/ Img的src指向的圖片不存在,讓img不顯示出來 <script type="text/javascript">
如何設定WebView支援js的Alert,Confirm,Prompt函式的彈出提示框.
預設情況下,Android WebView是不支援js的Alert(),Confirm(),Prompt()函式的彈出提示框的.即使設定了setJavaScriptEnabled(true);也是沒用的.那麼,如何才能讓WebView可以支援js的這3個函式呢.可以通過設定
ios app上傳成功但ITunes Connect不顯示的解決方法
使用Xcode或Application Loader上傳顯示成功,但是在ITunes Connect正在處理之後就沒了。這個時候不要改build傳了,只需要在info.plist加上對應的隱私描述就行了 從iOS10開始,蘋果更加註重對用於隱私的保護,
IOS彈出提示框(確認/取消)
在移動開發之中,系統彈出提示框是很常見的需求,比如,賬戶密碼輸入不正確的時候,給予客戶提示“輸入不正確,請再次輸入!“; 此文章不做詳細的描述,因為這個東西的話,也很簡單,如果要以其他方式實現,可以去
jquery實現的獲取滑鼠位置並彈出提示框
在做Web應用的時候,有時候為了增強使用者體驗,當用戶滑鼠放在某個圖片或者按鈕上時,需要給一些互動性的提示。當然,HTML中已經自帶了這項功能,就是alt=“”,但有時覺得這個看起來不夠美觀,所以就自己用css寫了個彈出框,並用jquery實現了效果,程式碼如
spring cloud feign 服務提供者與服務消費者引數名不一致,會接收不到
最近sprign cloud專案中遇到了一個坑,和大家分享一下 服務消費者程式碼如下,引數名稱為currentDate, 服務提供者程式碼如下,引數名稱為date, 由於兩個引數名稱不一樣,呼叫過程中,服務提供方始終獲取不到呼叫引數的值,花費了很長時間才找到了這
讓頁面不快取,永遠訪問最新的資料
前言:每一次請求,我們都知道瀏覽器會做一定處理,其中就包括對資料的快取處理,相同引數做查詢的處理,就可以讓資料儲存在客戶端,這樣可以減少對伺服器的請求,但是,有時候一些特殊情況查詢,是需要時時刻刻保持最新的,就好像學過sql類似資料髒讀、幻讀之類的情況,我們不需要瀏覽器做快取
IOS 點選tabbaritem跳轉到一個新介面,且隱藏tabbar
先自定義一個UITabbarController,用於Storyboard中 再在MyTabbarController中實現protocol @interface MyTabbarController : UITabBarController <UITabBar
iOS 8的scrollView上的試圖都不顯示(scrollView直接加在帶navigation的self.view上
iOS下,如果我們的self.view 的第一個子試圖直接就是scrollView的話,那麼ScrollVIew的所有子試圖都會下移64個畫素。 self.automaticallyAdjustsScrollViewInsets = NO; self.heade
EventBus進入Activity頁面給Fragment傳值,並彈出提示
1. 進入頁面先訪問網路狀態.返回true或false表示網路狀態的有無,將這個值使用EventBus傳給Fragment頁面 首先需要匯入依賴 compile 'org.greenrobo