Tag: JavaScript

iOS绑定javascript函数来点击<html>

这适用于桌面Safari,但在iOS版本中不会popup警报。 有没有可能绑定到iOS中的'html'元素? 我想closures一个下拉菜单,只要用户点击页面上的其他地方。 $('html').bind("click", function(){alert("clicked!")}) 编辑 将其作为html发布,因为jsfiddleembedded了一个iframe,这显然摆脱了我的问题。 在桌面上打开这个页面Safari浏览器可以正常工作,但是在iOS模拟器中,点击时不会显示任何内容。 <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ $('html, body').bind("click", function(){alert("html or body")}) $(document).bind("click", function(){alert("document")}) }); </script> <body> </body> </html> 编辑2 这也不适用于我在iOS模拟器或我的iPhone。 如果将委托()放入我的应用程序并单击某个链接,我会收到警报。 <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> <body> </body> <script type="text/javascript"> $(document).delegate('html, body', "click", function(){alert("html or body")}); </script> </html> 编辑3 这工作! <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> […]

iOS的JavaScript工人高端CPU后终止()

我有一个复杂的JavaScript函数可能需要1秒,或许多分钟发送答案。 所以我创build了一个正在工作的Worker,我从Swift中的UIWebView调用了这个函数(stringByEvaluatingJavaScriptFromString)。 我只等了5秒钟(超时创build在同一个Javascript),之后,我终止工人(job.terminate()),我开始一个不同的其他参数(简单),只需要1秒答案。 事情是,即使在终止信号之后,第一个工人似乎仍在后台运行。 正如你可以在图像中看到的,WebCore:Worker有很多CPU使用率。 我怎样才能终止工人? job = new Worker("main.js"); var t = setTimeout(function(){ stop(); logNode.innerText = 'NULL'; },5000); function stop() { job.terminate(); job = undefined; } (main.js): importScripts('dist/algorithm.js'); var lp; self.addEventListener('message', function(e) { … …

在方向改变时防止白色边缘

我用最小的React-Native应用程序重现了这个问题: render() { return View({style: { flex: 1, backgroundColor: 'black' }}) } 当我旋转手机时,在方向转换过程中,屏幕的一侧有一个白色部分。 如何将该区域的颜色与背景的其余部分相同?

如何将导航器引用传递给React Native <Drawer />?

在我的index.ios.js中使用react-native-drawer( https://github.com/root-two/react-native-drawer ),我有以下的设置,并试图将“navigator”引用传递给内容的< Drawer />的DrawerPanel />。 我在<DrawerPanel /> console.log(this.props.navigator),但是当我尝试类似于this.props.navigator.replace()在<DrawerPanel />中传入一个错误的导航器引用时, 我如何传递正确的导航器构造函数,如传递给renderScene和configureScene? : class practice extends Component { … renderScene(route, navigator){ … } configureScene(route, routeStack){ … } render() { return ( <Drawer content={<DrawerPanel navigator={navigator}/>} … > <Navigator configureScene={this.configureScene} initialRoute={{name: 'Login', component: Login}} renderScene={this.renderScene} style={styles.container} navigationBar={ <Navigator.NavigationBar style={styles.navBar} routeMapper={NavigationBarRouteMapper(this.openDrawer)} /> } /> </Drawer> ); } } 先谢谢你! […]

尝试以编程方式selectUIWebView中的文本时setStart和setEnd引发错误

这里是我在我的UIWebView中使用的一些HTML: <div id = "1"> <span style = "background-color:red"> <a href = "10&20"> This is a link </a> </span> </div> 一旦链接被点击,我想以编程方式selectUIWebView中的链接文本(所以“这是一个链接”,现在将用蓝色的iOS文本select工具突出显示)。 这就是为什么我要在标签的href中发送一些范围信息。 这是我正在用来尝试做这个程序select的呼叫: //set content editable true [self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"selectElementContentsInRange(document.getElementById('1'), 10, 20)"]]; 这是JavaScript的function: function selectElementContentsInRange(el, first, second) { var range = document.createRange(); alert("Makes it here"); range.setStart(el.firstChild, first); alert("Doesn't make it here"); range.setEnd(el.firstChild, second); var sel […]

如何使用LoadHTMLString方法在WebView中加载大型HTMLstring?

我必须使用UIWebView的“LoadHTMLString”方法将一个htmlstring加载到UIWebView上。 请find下面的代码。 [wv loadHTMLString:[NSString stringWithFormat:@"<!DOCTYPE html><html><head><meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\"><meta charset=\"utf-8\"><title>Traffic layer</title><style>html, body, #map-canvas {height: 100%%;margin: 0px;padding: 0px}</style><script src=\"https://maps.googleapis.com/maps/api/js?v=3.exp\"></script><script>function initialize() {var myLatlng = new google.maps.LatLng(34.04924594193164, -118.24104309082031);var mapOptions = {zoom: 13,center: myLatlng}var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptiotrafficLayer.setMap(map);}google.maps.event.addDomListener(window, 'load', initialize);</script></head><body><div id=\"map-canvas\"></div></body></html>"] baseURL:nil] 当我加载这个,我的webview是空的,它不显示任何东西。 当我把这个代码放入扩展名为'html'的文件中并加载到webview时,它工作正常。 任何人可以帮我把这个加载到WebView? 或者,任何人都可以让我知道这段代码出了什么问题。

Safari iOS没有加载Javascript文件?

我刚刚升级了我的iOS,因为最近的安全漏洞 ,我发现我的网站已经不能正常加载我的手机了! 我把问题简化成一个简单的例子… index.html = <html> <head> <title>Demo</title> <meta name="description" content="Test of basic Javascipt function"> <script src="demo.js"></script> </head> <body class="body"> <div id="main"> </div> </body> </html> demo.js = var i = 0; function update() { 'use strict'; document.getElementById("main").innerHTML = i; i = i + 1; } setInterval(update, 1000); 在我的桌面上,这产生了一个迭代计数,但当用我的手机上的Safari浏览器(Mobile / 12G34 Safari / 601.1)JavaScript文件根本不会加载???? JavaScript文件甚至不会显示在我通过USB绑定的WebInspector中的“所有资源”选项卡下。 build议? […]

Javascript doOnOrientationChange:无法修复加载页面的错误

我使用.js来避免移动设备的横向视图。 每次将我的设备从纵向旋转到横向时,我都会编辑一个白色的全屏图像,指出“此网站不被视为以横向模式查看,请将您的设备”显示出来。 它工作除了当我加载一个页面,我已经在横向模式。 任何想法如何解决它? 谢谢 <script> (function() { 'use strict'; var isMobile = { Android: function() { return navigator.userAgent.match(/Android/i); }, BlackBerry: function() { return navigator.userAgent.match(/BlackBerry/i); }, iOS: function() { return navigator.userAgent.match(/iPhone|iPad|iPod/i); }, Opera: function() { return navigator.userAgent.match(/Opera Mini/i); }, Windows: function() { return navigator.userAgent.match(/IEMobile/i); }, any: function() { return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || […]

使用PHP或Javascript检查iOS版本是否为3.0或更高版本

我需要检查访问我的网站的iOS设备是否安装了iOS 3.0或更高版本。 我可以这样做吗?

如何在iOS中dynamicparsingJSON

我们使用了第三方服务,它提供了一个JS文件。 js文件启动一个http请求并得到一个json。我们parsing了json并得到了我们想要的内容,但json格式总是改变。 有没有办法parsingJSON,但不更新我们的应用程序?