Tag: JavaScript

React-Native:无法访问状态值或从renderRow声明的任何方法

我有一个列表视图,每当用户点击一个项目,我想用onPress(触摸高亮)做些事情。 我试着定义函数然后在onPress调用它们,但他们没有工作。 首先我定义了一个这样的函数: constructor(props) { super(props); this.state = { dataSource: new ListView.DataSource({ rowHasChanged: (row1, row2) => row1 !== row2, }), loaded: false, }; this._dosome = this._dosome.bind(this); } _dosome(dd){ console.log(dd); } 然后 : render(){ if (!this.state.loaded) { return this.renderLoadingView(); } return ( <View style={{ flex: 1 }}> <ListView dataSource={this.state.dataSource} renderRow={this.renderRow} style={styles.listView} /> </View> ); } renderRow(data) […]

iOS UIWebView中未定义requestAnimationFrame?

在UIWebView requestAnimationFrame似乎是undefined的。 是否有另一个function,做同样的事情,或者我必须使用setTimeout ?

如何在React Native中使用index.js而不是(index.ios.js,index.android.js)来实现跨平台的应用程序?

感谢从现在开始的答案, 我是React Native的新手,我想创build一个跨平台的应用程序,所以我创build了index.js: import React from 'react'; import { Component, View, Text, } from 'react-native'; class ReactApp extends Component { render() { return ( <View><Text>Hello world</Text></View> ); } } module.exports = ReactApp; 然后我从这两个index.ios.js和index.android.js像这样导入index.js: import { AppRegistry } from 'react-native'; import ReactApp from './index'; AppRegistry.registerComponent('ReactApp', () => ReactApp); 我想这之后它应该工作,但我得到这个错误:

alert()在WKWebview中不起作用evaluateJavaScript()

我不这样做为什么我的问题被标记为这个重复,首先我执行javascript代码与evaluateJavaScript作为问题标题显示它显然是不同于那个问题。 更重要的是,我已经在这个问题的答案中尝试了这个问题的答案,而在我的问题主体的最后却没有取得成功。 我使用wkwebview.evaluateJavaScript()在swift3的wkwebview中执行javascript。 但alert()打开警报对话框。 并没有错误和问题表明。 虽然我可以使用evaluateJavaScript()来执行JavaScript代码来修改页面内容。 class WebViewController: UIViewController, WKScriptMessageHandler, WKNavigationDelegate, WKUIDelegate, UIScrollViewDelegate { var wk:WKWebView! self.wk.navigationDelegate = self self.wk.uiDelegate = self self.wk.scrollView.delegate = self self.wk.customUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:53.0) Gecko/20100101 Firefox/53.0" … override func viewDidLoad() { super.viewDidLoad() … let config = WKWebViewConfiguration() self.wk = WKWebView(frame: CGRect(x: frame.minX, y: frame.minY+20, […]

禁用iPhone“保存图像”popup

我试图禁用iPhone /任何iOS设备上显示的“保存图像”对话框。 当用户在Safari中时,他们可以将手指放在图像上,然后将图像直接保存到手机中。 他们的方式来打开这个菜单与JavaScript,jQuery的,或CSS? 我环顾了其他职位,似乎没有太多关于这个话题。 我发现一个职位,但答案似乎并没有工作。 我看到了一种使用隐形div的方法,但是如果可以用jQuery或者javascript来完成,我不会这样做。 谢谢

iOS – UIWebViewDelegate拦截javascript调用

我正在使用这个程序,以允许javascript从我的iPad应用程序调用目标c: http://www.stevesaxon.me/posts/2011/window-external-notify-in-ios-uiwebview/ 我注入到页面的我的JavaScript代码是: <script type="text/javascript">; window.external = { 'Set_A': function(s) { document.location = 'qms://Set_A?param=' + s; }, 'Get_A': function(s) { document.location = 'qms://Get_A'; }, 'Set_B': function(s) { document.location = 'qms://Set_B?param=' + s; }, 'Get_B': function(s) { document.location = 'qms://Get_B'; }, 'Set_C': function(s) { document.location = 'qms://Set_C?param=' + s; }, 'Get_C': function(s) { document.location = 'qms://Get_C'; […]

如何在JavaScriptCore中包含外部库?

我想通过JavaScriptCore加载外部库 具体而言,我想要这样的最终结果: <script src="fancyLibrary.js" type="text/javascript"></script> 但是用这个语法: JSContext *context = [[JSContext alloc] initWithVirtualMachine:[[JSVirtualMachine alloc] init]]; [context loadExternalJavascriptFileWithName:@"fancyLibrary.js"]; JSValue *fancyFunction = context[@"fancy"]; 这在当前是可能的吗? 我想我可以在应用程序包中包含外部库,并从那里调用它。 这是将图书馆加载到上下文中的问题。

如何防止使用移动Safari浏览器从caching中重新加载网页?

移动Safari使用一个特殊的caching机制Page Cache ( 这里 )基本上保持当前页面活着,但hibernate时,我们导航到另一个页面。 这样,当用户按下backbutton时,它可以立即显示在其最新状态的前一页。 这对于导航和浏览网页很有用,但是对于特殊情况,这会变得令人讨厌,因为每次用户导航到该页面时都需要获取新的页面副本。 (在我的情况下,我必须页面:login和主页)。 我完全知道,没有什么阻止用户打开同一个应用程序的多个选项卡。 我不关心这一点。 用于阻止页面被caching的跨浏览器解决scheme并不能帮助Safari正在保持页面打开,但是不可见和暂停。 window.onpageshow和处理event.persisted没有帮助,因为似乎浏览器由于某些原因第二次(当你按backbutton)不执行onpageshow事件。 请注意,对于那些不知道什么onpageshow事件是关于:苹果不鼓励使用load和unload事件,因为与页面caching的概念这些事件没有明确的意义。 所以, onpageshow应该做我们期望的load事件。

离子2 Facebook的login – '应用程序不安装'和'没有login'&'给定的URL是不允许的'错误

我试图从Ionic Native库实现FacebookloginAPI,并在我的应用程序中有一个打开Facebooklogin窗口的button。 但是,当我的iOS设备上打开该窗口时,首先出现以下错误。 然后,在terminal中执行以下命令后,我开始收到一个新的错误: $ ionic plugin add cordova-plugin-facebook4 –variable APP_ID="123456789" –variable APP_NAME="myApplication" $ npm install –save @ionic-native/facebook 这个问题在闲置一天后终于自行解决了,然后我通过在Facebook Developers网站的App Review选项卡中点击这个应用程序来公开我的应用程序。 现在,我又收到了另一个错误,应该通过公开应用程序来解决。 这是错误: App Not Setup: The developers of this app have not set up this app properly for Facebook Login. 这里是这个实现的相关代码。 我已经确保在所有相关variables中包含正确的APP ID ,并且代码本身不会导致任何错误。 这只是login不与我的应用程序进行通信的情况。 在package.json : { "name": "twine-app", "author": "Anthony Krivonos", "homepage": […]

检测<embed>标记无法加载video

我试图用下面的embedded标签(在iPad / iOS上)捕获错误: <embed width="320" height="240" src="path/to/my/live/stream/playlist.m3u8" type="application/vnd.apple.mpegurl" postdomevents="true" id="movie1" /> 我试图用以下方法来解决它: $("#movie1").on('onerror', function() { alert('error!') } ); 我也尝试了onabort , onstalled , onended和onsuspend – 当video加载失败时都不会产生事件。