① 如何监听 js 中变量的变化
需要监听的时候 alert() 一下 就可以了 如
Ext.Ajax.request({
url:url,
method:'POST',async:false,scope:this,
params:params,
success:function(response,猛隐options){
//alert(response.responseText);//这里先看一下返回值是否正确
varrsInfo=Ext.util.JSON.decode(response.responseText);
if(rsInfo.success){
me.fireEvent("saveFinish",{success:rsInfo.success,msg:rsInfo.msg});
}else{
me.fireEvent("saveFinish",{success:false,msg:'枝闹厅服务器弯册回应没有SUCCESS'});
}
},
failure:function(response){
varfailMsg=allPrpos(response);
me.fireEvent("saveFinish",{success:false,msg:failMsg});
},
});
② ios里面怎样监听js的事件
在iOS开发之Objective-C与javaScript交互操作 中我们可以通过 去实现在obj-C中获取到相关节点属性,添加javascript代码等功能。但是我们如何监听到javascript的响应事件呢。在MAC OS中有效的API去实现,但iPhone没有,但我们有一个技巧途径:
大概思路是:在JavaScript事件响应时,通过设置document.location,这会引发webview的一个delegate方法,从而实现发送通知的效果,即达到监听的目的。
1、在javascript与webView之间定一个协议约定:
myapp:myfunction:myparam1:myparam2
2、在javascript中添加代码:
document.location = "myapp:" + "myfunction:" + param1 + ":" + param2;
3、在webView的delegate方法webView:shouldStartLoadWithRequest:navigationType: 添加
- (BOOL)webView:(UIWebView *)webView2
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType {
NSString *requestString = [[request URL] absoluteString];
NSArray *components = [requestString componentsSeparatedByString:@":"];
if ([components count] > 1 &&
[(NSString *)[components objectAtIndex:0] isEqualToString:@"myapp"]) {
if([(NSString *)[components objectAtIndex:1] isEqualToString:@"myfunction"])
{
NSLog([components objectAtIndex:2]); // param1
NSLog([components objectAtIndex:3]); // param2
// Call your method in Objective-C method using the above...
}
return NO;
}
return YES; // Return YES to make sure regular navigation works as expected.
}
③ js中怎样检测url发生改变
function checkeURL(){ var str=form1.txt.value; //在JavaScript中运培带,正则表达式只能使用"/"开头和结束,不能使用旁芦双引号 var Expression=/http(s)?:////([\w-]+\.)+[\w-]+(\中桥/[\w- .\/?%&=]*)?/; var objExp=new RegExp(Expression); if(str.inde...
④ js 检测网址是否能正常访问用js实现,判断指定的url是否有效,涉及到跨域,返回的状态是0,求大神指教,
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="js判断URL是否可访问" />
<title>js判断URL是否可访问</title>
</head>
<body>
<div>检验的url地址:</div>
<input type="text" style="width:600px;height:30px;font-size:14px;" id="urlText" value="" />
<input type="button" value="判断是否可访问" onclick="getURL()" />
<br />
<div id="msg1"></div>
<div id="msg"></div>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
function getURL() {
$("#msg").html("");
var url = $("#urlText").val();//请求的url
var dateTime = disptime();
var time2 = dateTime.DateTime;
$("#msg1").html("发送时间:" + time2);
$.ajax({
type: 'get',
url: url,
cache: false,
dataType: "jsonp", //跨域采用jsonp方式
processData: false,
timeout:10000, //超时时间,毫秒
complete: function (data) {
var dateTime2 = disptime();
var time22 = dateTime2.DateTime;
var htmlTxt =[];
if (data.status==200) {
htmlTxt.push("成功<br/>");
} else {
htmlTxt.push("失败<br/>");
}
htmlTxt.push("readyState=" + data.readyState + "<br/>status=" + data.status + "<br/>statusText=" + data.statusText + "<br/>响应时间:" + time22);
var htmlString = htmlTxt.join('');
$("#msg").html(htmlString);
}
});
}
function disptime() {
var date = new Date();
var = date.getFullYear();//四位年份
var month = date.getMonth() + 1;//月份 0-11
var day = date.getDate();//日
var HH = date.getHours();//时
var minute = date.getMinutes();//分钟
var second = date.getSeconds();//秒
var milliseconds=date.getMilliseconds();//毫秒
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
if (HH < 10) {
HH = "0" + HH;
}
if (minute < 10) {
minute = "0" + minute;
}
if (second < 10) {
second = "0" + second;
}
var time = + "-" + month + "-" + day + " " + HH + ":" + minute + ":" + second + " " + milliseconds;
var timeTxt = + month + day + HH + minute + second;
var time = {
DateTime: time,
TimeTxt: timeTxt
}
return time;
}
</script>
</body>
</html>
⑤ js 怎么监听到页面关闭或页面跳转事件
给个思路,不知道是否可行
在页面上做一个ajax,定期访问服务器,当在指定时间内回不能接收到页面的ajax心跳,认为答浏览器关闭了
页面跳转的监听,全部使用自定定义的js函数,好象是window.location = url,url是你要跳转的页面,这样执行到这个函数时,你就知道用户要跳转页面,然后在这个函数里做操作
⑥ iOS和h5交互(WKWebView,UIWebView)
app 混合开发场景中 常常涉及到h5 和原生数据通信,大致分为稿铅2类 一个是 原生 向 h5 主动通信,一个是 h5 主动向 原生通信禅答。
iOS 中加载h5的 控件有2种,UIWebView 和 WKWebView,目前新提交的app 必须使用WKWebView 才能提交审核。已经上架审核成功的app 目前没有强制要求必须用WKWebView。
原生通过监听url 变化实现,当url 变化的时候 ,会触发
h5 主要逻辑如下
除了 通过url 变化 的监听外,我们还有其他方法,比如通过 JSContext 向webView 注入。具体步骤如下
原生逻辑:
第一步:新建1个继承 JSExport 的 代理 ,新建1个继承该协议的类,协议中 opencame 为和 前端约定好的 通讯方法
第二步:webview 加载成功后 ,在 - (void)webViewDidFinishLoad:(UIWebView *)webView 注入,注入对象名称 为 cth5bridge
第三步:h5 调用方式如下,cth5bridge 为注入对象名称,opencame 为 约定的方法
假设1个场景,用户访问h5 界面情况下,我键袭好们要通知 用户token 要更新
原生主要逻辑
h5 主要逻辑
假设1个场景,用户点击1个活动baner,通知原生 以一个新的界面 打开1个外部活动h5界面
和上面类似,我们也可以在 - (void)webView:(WKWebView *)webView :(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler 通过监听 url 变化来实现
原生主要逻辑
h5 主要逻辑
我们也可以这么做
第一步 原生 注册 监听方法 showH5
第二步 H5 调用 和原生约定好的方法 showH5,h5 处理的时候要区分 iOS 和 android,下面 只是考虑iOS
第三步 原生在 - (void)userContentController:(nonnull WKUserContentController *)userContentController didReceiveScriptMessage:(nonnull WKScriptMessage *)message 进行监听
和上面类似,假设1个场景 通知H5 刷新用户token
updatetoken 是和前端H5 约定好的 通信方法,123是传递的数据,一般 以 json 字符串传递
原生主要逻辑
H5主要逻辑
需要在windows 上 绑定方法
参考链接: https://blog.csdn.net/dolacmeng/article/details/79623708
⑦ js判断url是否有效的两种方法
js判断url是否有效的两种方法如下:
方法一:(仅适用于ie)
function CheckStatus(url)
{
XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP")
XMLHTTP.open("HEAD",url,false)
XMLHTTP.send()
return XMLHTTP.status==200
}
function NetPing()
{
return CheckStatus("http://www..com");
}
方法二:(利用jquery,适用所有浏览器)
function NetPing() {
$.ajax({
type: "GET",
cache: false,
url: "http://www..com",
data: "",
success: function() {
Done(1);
},
error: function() {
Done(0);
}
});
}
⑧ 如何监听地址栏url的变化,如果不用定时循环检测的话
如果没有指定type属性值,默认为就是跳转纳世贺 如果指定type的值为redirect或redirectAction,这个是重定返凯向,浏览器地址栏的URL才洞派会变化 和get或post提交没有关系
⑨ WebView如何 监听url变化
创建一个类继承AsyncTask,里面册裂有onPostExecute方法,在这里监听Webview跳转,然后记录跳转判棚后的链接即州冲闭可
⑩ chrome插件开发中怎样监听tab里url的变化以及监听页面ajax动态加载的新数据
你好,可以使用tab接口的onUpdated方法(但tab接口支持后台background和popup|page),对url进行监听
URL更新事件监听, 一般访问一个URL会触发两次,
访问的时候触发,状态为loading,
访问完成的时候触发 状态为complete
chrome.tabs.onUpdated.addListener(function (id, info, tab) {
if (tab.status === 'loading') {
updateBrowserAction(id, tab.url);
}});
注袜扮脊意:(缺改建议监听方法写在background.js)告渗然后可以通过通信方式返回给需要执行监听的地方