Tag: JavaScript

用javascript加载不同的CSS样式表

我需要使用JavaScript来加载一个不同的样式表基于正在传递的URLvariables。 情景是这样的:我们需要维护一个具有一个CSS样式表的移动网站,以及一个不同的样式表,当它通过在iOS应用程序中加载的web视图访问时,将用于样式化相同的页面。 如果你看www.blog.meetcody.com,你会发现我们已经在使用媒体查询和响应式网页devise了。 这对我们来说是不够的原因是因为媒体查询无法检测到该页面是通过本地应用程序中的webview加载还是移动Safari浏览器。 我们需要分别处理这两种情况。 博客是托pipe的WordPress博客,我们正在通过我们的iOS应用程序中的JSON API访问。 我们处理这个的方式如下:当网页通过我们的iOS应用程序加载时,我们在URL的末尾添加一个variables“/?app = true”。 我想要做的是检查URL是否包含此string,如果是,请使用其他webview。 我正试图用下面的代码做到这一点: <script language="javascript" type="text/javascript"> if(window.location.href.indexOf('/?app=true') > -1) { document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"http://blog.meetcody.com/wp-content/themes/standard/appstyle.css\" />"); } document.close(); </script> 我遇到的问题是,当app = true是URL的一部分时,上面的代码实际上并没有加载appstyle.css样式表。 如果你看看http://blog.meetcody.com/wp-content/themes/standard/appstyle.css?ver=3.4.2你可以看到我正在testing这个设置背景:黑色body {}标记 body { background: black; } 而在style.css中http://blog.meetcody.com/wp-content/themes/standard/style.css?ver=3.4.2身体背景色是#F2F0EB; 在body {}标记中 body { background: #F2F0EB; } 当然,我们想做的不仅仅是改变背景颜色,但我只是把它作为一个例子。 有没有更好的方法来做到这一点,或者是我的代码有什么问题吗? 也许我不能直接链接到appstyle.css javascipt中的href? 非常感谢。 圣诞快乐!

反应原生:如何使用dynamicURL的require(path)?

我想使用WebView来显示一些HTML内容 这里是一个例子: return ( <WebView style={styles.container} source={source} scalesPageToFit={Boolean(true)} onNavigationStateChange={this._onNavigationStateChange} /> ) 而对于源variables我需要有两个不同的值: 1)为Android平台我需要使用这样的东西: source = {uri: `file:///android_asset/contents/${languageId}text.html`} 2)对于ios我需要使用smth。 喜欢这个: source = require(`../srv/localization/contents/${languageId}text.html`) 对于Android它运作良好,但对于IOS不起作用。 而这个url也适用于iOS require(`../srv/localization/contents/entext.html`) 据我所知,这是因为dynamicurl($ {languageId} text.html) 问题是如何使用iOS的dynamicurl?

iOS和JavaScript库之间的HMAC SHA-512生成差异

我正在尝试使用SHA-512algorithm从我的iOS应用程序中复制Hmac生成行为,该algorithm引用此链接HMAC-SHA1的Objective-C示例代码 。 为此,我尝试使用CrytoJS和jsSHA库来计算使用javascript代码的Hmac。 我发现这些JavaScript库和我使用我的iOS代码产生的hmac值差异。 有人能帮我理解我在这里做错了什么吗? 我有一种感觉,我正在搞乱传递给这两种方法的键和计数器值的格式。 例如:key =“快速的棕色狐狸跳过懒狗”counter = 123 由iOS代码生成的Hmac-8d4b0f7c7f800ffd656829b98988048b49b08d0068f6fd33add8a02b6bce8097cdd3a69dc8292ec7cc04e15021afb4499afe4a292f8db082b2d253ddfe7d7015 由javascript库生成的Hmac-211935F67D87CBB6A98DE6A6D9D64F9AAF8DA5F09BF17F1B7E5BD46FCD9BEFBCD3585FB859BD042291AF5D79B6D92CF7B348CD6558A18AEF4328FAF344D63266 iOS代码: NSData *key = [key dataUsingEncoding:NSASCIIStringEncoding]; NSData *rawKeyData = [DataUtil rawDataFromHex:key]; //encode the counter uint8_t tosign[8]; for (int i = sizeof(tosign) – 1; i >= 0; i–) { tosign[i] = counter & 0xff; counter >>= 8; } unsigned char cHMAC[CC_SHA512_DIGEST_LENGTH]; CCHmac(kCCHmacAlgSHA512, [rawKeyData bytes], […]

需要确定“完成”button点击iOS编辑键盘使用JavaScript

从图像中,是否有可能使用javascript / jQuery来识别iOS的“完成”button点击事件? iOS键盘点击事件可以使用文本区域的“onkeypress”函数进行标识。

Vimeo播放器JS API在iOS中不起作用

我正在尝试使用API​​来播放video,但只有在您单击iOS中的播放器中的播放button之后才能起作用。 在桌面版和Android版Chrome中,它工作正常。 $(function() { var iframe = $('#player1')[0]; var player = $f(iframe); var status = $('.status'); // When the player is ready, add listeners for pause, finish, and playProgress player.addEvent('ready', function() { status.text('ready'); player.addEvent('pause', onPause); player.addEvent('finish', onFinish); player.addEvent('playProgress', onPlayProgress); }); // Call the API when a button is pressed $('button').bind('click', function() { player.api($(this).text().toLowerCase()); }); function […]

当为touchstart事件调用preventDefault()时,为什么onclick事件被抑制?

我尝试为我的iPad设备实现一些JavaScript函数。 我想使用一些滑动动作,并点击我的canvasdiv的行动。 我实现了水平和垂直滑动function。 我必须使用touchstart事件的preventDefault来防止整页滚动。 它运作良好,但在此之后,我注意到它禁用此div上的每个点击事件。 当preventDefault被移除时,click事件再次起作用。 有没有解决这个问题的方法? dojo.connect(this.node, "ontouchstart", this, "touchstart"); … touchstart: function(e){ this.touch = dojo.clone(e.changedTouches[0]); e.preventDefault(); } this.node = document.getElementById('aa'); <div id="aa" style="width: 600px; height: 400px;"> <div onclick="alert('asd');" style="width: 100px; height: 100px; background-color: #ff0000; margin: auto;"> </div> </div>

Android上的HTML5 canvasanimation很慢

我正在开发和Android和iOS的街机游戏。 我在运行Android 2.2.1的Galaxy S SL上有一个animation性能问题 : 看例子: http://jsfiddle.net/qgWdA/show/ 编辑代码: http://jsfiddle.net/qgWdA/ 在运行Android 4.0.3的Galaxy S2上,animation速度更快,但不如iphone 4S runnig iOS 5.1.1。 有没有什么办法来优化它?

如何获取在UIWebView中看到的HTML标记从UIWebView中加载的所有HTML标记中获取屏幕

在我的UIWebView我加载了“Chapter.xhtml”文件。 [webView loadRequest:[NSURLRequest requestWithURL:url]]; 整个Chapter.xhtml在webView中加载。 我在web视图中显示了一些JavaScript逻辑。 float pageOffset = pageIndex*webView.bounds.size.width; NSString* goTo =[NSString stringWithFormat:@"pageScroll(%f)", pageOffset]; [webView stringByEvaluatingJavaScriptFromString:goTo]; 从这个新页面将button被按下,但在webview手动closures页面滚动。 因此,如果在webview中有四个包含内容的页面,那么webview中只会有一个页面,随着“下一个”button被按下,新页面将会出现。 但是我需要获得所有在屏幕上看到的HTML标签。 ( 只有那些在屏幕上 )不是整个加载的HTML在web视图。 为了获取HTML标签,我使用了NSXMLParser,并获取了didStartElement方法中的所有标签以及didStartElement方法中的值。 但是,我只想得到在屏幕上和第二页标签等等的标签…. 任何想法或build议将有助于我… 编辑: 例如,如果在webview中加载了三页HTML页面,那么在屏幕上只能看到一个页面,然后通过添加webview *页面的高度,下一页将出现在屏幕上,但该页面也被加载webview,只是没有在屏幕上看到。 那么有没有什么能给我那些屏幕上的标签。 (或者其值在屏幕上)?

iOS Safari Mobile不会触发pageshow只触发一次

在以下情况下,iOS Safari似乎不会触发pageshow事件。 可以说我有3页 页面A :(在pageshow事件上有一些代码) 页面B 页面C 用户从A -> B导航。 按下后退button。 (pageshow触发正常) 用户然后导航到另一个页面可能是页面B或页面C.然后再次按下后退button。 (pageshow不会触发) 相反,如果用户再次最小化和最大化窗口或切换到另一个窗口并返回(通过按下iPhone上的中间button),则页面显示事件再次被触发。 一切似乎在Android上正常工作 window.onpageshow = function(e) { alert('hello'); } 有没有其他人面对呢? 我花了几个小时在这个东西,想不到一个解决方法。 任何帮助将不胜感激。

Ajax调用Cordova ios SecurityError:DOM Exception 18

嗨我通过cordova(5.1.1)/ Phonegap构buildiOS应用程序,我有一个问题,我无法解决。 一个基本的Ajax调用抛出一个SecurityError: DOM Exception 18我尝试了所有关于白名单的技巧,现在我迷路了..任何人都可以帮忙? 谢谢。 设备准备就绪后,我会做这件事情: var getUrl = 'http://shopplo.com/api/posts/radius/'+app.lat_min+'x'+app.lat_max+'x'+app.lng_min+'x'+app.lng_max+''; //console.log(getUrl); var getPosts = $.ajax({ method: 'GET', url: getUrl, dataType: 'JSON' }) .done(function(e) { console.log( e ); }) .fail(function(e) { //console.log( "error"); $.each(e, function(key, element) { console.log('key: ' + key + '\n' + 'value: ' + element); }); }) .always(function() { console.log( "complete" […]