Articles of JavaScript

在webView上加载本地存储的文件时延迟

我在我的webView上加载本地存储的html(带有javascript的文件)文件。 这些文件加载​​到我的ViewController.swift 。 但是,第一次启动应用程序时会有2-3秒的延迟。 我已经在网上搜索了解决这个问题的方法,我观察到的方法(首先加载webView延迟了资源的加载),我决定在我的ViewController使用NSNotificationCenter并从’AppDelegate’调用它们,以便第一次加载webView 。 在我的代码中实现这些更改后,应用程序的LaunchScreen出现延迟,这与我在此处加载文件时的预期相同,但是, ViewController的加载时间仍然相同。 我正在调用通知AppDelegate.swift func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. NSNotificationCenter.defaultCenter().postNotificationName(“loadDefaultWebViewID”,object:nil) return true } ViewController.swift override func viewDidLoad() { super.viewDidLoad() NSNotificationCenter.defaultCenter().addObserver(self, selector: “loadDefaultWebView:”, name: “loadDefaultWebViewID”, object: nil) if let htmlURL = NSBundle.mainBundle().URLForResource(“index”, withExtension: “html”) { let requestObject = […]

我怎样才能在iOS Swift中调用javaScript函数

我想从Web视图中获取html字符串。 我试图从网络视图中获取html字符串,如, let html = webView.stringByEvaluatingJavaScript(from: “document.documentElement.outerHTML”) print(html) 在这个代码中我得到所有的Html代码没有我在web加载后给出的输入值。 另一方面,有一个函数,它将给我带有输入值的完整HTML代码。 但我无法在我的swift代码中调用javascript函数。所以我的javaScript函数有一个我想调用的参数。 我试着像这样调用javaSript函数, let pp = webView.stringByEvaluatingJavaScript(from:”draft”) 但它不起作用。 我想得到所有的HTML包括输入值。 这是一个截图,它是如何在android中完成的。 我在这里附上了我所有的HTML代码 Quick Inspection textarea{ resize: none; } 1. Description of Work 2. Work Status 3. Progress 4. Observation 5. Recommendation var getJsonData = $(“#jsonvalue”).text(); if(getJsonData != “”){ SetJsonValue(); } function getHtml() { var Alldata = $(‘form’).serializeArray(); […]

401 PhoneGap iOS App中的未经授权的响应

我在Xcode 4.3中运行iPhone 5.0模拟器。 已安装PhoneGap 1.4.1。 我有以下index.html文件,类似于http://wiki.phonegap.com/w/page/42450600/PhoneGap%20Ajax%20Sample中的示例: PhoneGap Ajax Sample function appReady(){ var ajax = new XMLHttpRequest(); ajax.open(“GET”,”http://search.twitter.com/search.json?q=bacon”,true); ajax.onreadystatechange=function(){ alert(ajax.readyState); alert(ajax.status); if(ajax.readyState==4 && (ajax.status==200)){ document.getElementById(‘main’).innerHTML = ajax.responseText; } } ajax.send(); } document.addEventListener(“deviceready”, appReady, false); before load </div 调试alert()调用到位后,我看到对话框显示2,然后是401,然后是3,然后是401,然后是4,然后是401。 当然,401对话框表明请求未经授权。 我尝试过除twitter以外的网站但没有成功。 我可以在模拟器上使用Safari来浏览网页。 当我在Windows上的Eclipse中创建PhoneGap Android项目时,上面的代码在我的Droid 2上按预期运行。 我是iOS和PhoneGap开发的新手,所以我可能会忽略一些简单的东西。 有任何想法吗? 顺便说一句,关于此问题还有一两个问题,但设置不同,例如一个使用OAuth。

使用Navigator推送新路线时出现问题

我对Navigator有一种奇怪的行为。 我第一次调用navigator.push(…) ,有时会打印以下警告: Warning: flattenChildren(…): two children with the same key, ‘scene_1’. Child keys must be unique; when two children share a key, only the first child will be used. in RTCView (created by View) in View (created by Navigator) 或者,它将显示一个空白页面。 但是,如果我再次弹出并推动,它将起作用……发生了什么? 编辑: 这是代码: import Page1 from ‘../page/Page1’; import Page2 from ‘../page/Page2’; import Page3 from […]

iOS下载图片来自href标签html

我有一些非常简单的事情。 我将一个简单的bloburl放到一个标签的href中。 Download Ready! 超级简单。 在Android,Windows,黑莓等它的工作原理。 在ios上,我在3次点击后得到以下消息。 This website is repeatedly trying to open another application 虽然图像很大,但不是很大,但它来自iphone相机,在较小的图像上工作。 我无法嵌入jsbin,因为目前有一个bug。 也许有人可以帮帮我? 注意:代码用于简单的网站,浏览器,而不是像离子等本机混合网络应用程序。

如何在IOS共享菜单中显示我的cordova应用程序?

我们有一个现有的Cordova iOS应用程序,我们需要一个iOS共享扩展,允许用户通过我们的应用程序共享来自其他应用程序(如照片,页面,数字,主题演讲等)的文件(即从Pages导出文件到我们的应用程序) )。 我们需要提供以下服务: 原型/示例iOS Cordova App 为jpg,png,video,pdf和office(xls,xlsx,doc,docx,ppt,pptx)文件设置共享扩展 扩展以直接打开Cordova应用程序或在共享小部件内打开Cordova应用程序作为webview Cordova App必须从扩展程序接收有关共享文件(文件名,路径,类型,文件大小)的参数 – 之后对文件的处理将由我们完成。 有关如何在我们现有的Cordova应用程序中实现此function(共享扩展)的文档(在Xcode等中执行所需的步骤)

尝试使用socket.io时出错

我目前正在使用socket.io swift客户端。 在Iphone SE上运行。 这是快速的代码 let socket = SocketIOClient(socketURL: URL(string: “http://example.com:4000”)!, config: [.log(true), .forcePolling(true)]); socket.connect(); socket.on(“connect”) {data, ack in print(“socket is connected”); socket.emit(“getData”, [“data”: 3]); } 并在服务器上: var express = require(‘express’); var app = express(); var http = require(‘http’).Server(app); var io = require(‘socket.io’)(http); io.on(‘connection’, function(socket){ console.log(‘a user connected’); socket.on(‘disconnect’, function(){ console.log(‘user disconnected’); }); socket.on(‘getData’, function(result){ […]

javascript文件输入onchange无法正常工作

以下代码适用于除safri mobile之外的所有地方。 显然,onchange永远不会被触发。 // create a hidden file input element var input = document.createElement(“input”); input.type = “file”; // when the input content changes, do something input.onchange = function(event) { // upload files } // Trigger file browser input.click(); 我已经找到了类似的例子,但它们都指的是甚至有一些forms的文件输入的其他可见表示forms的场景,它们都涉及表单清除工作区。 那不行。 单击图片时会调用此代码,以便上传新代码作为替换。 任何提示? 我做错了什么?

使用UIWebView创建表单的onsubmit

我有这样的forms: 而属于它的JavaScript是: function doSubmit () { form1.submit(); } 当我在原生safari应用程序中测试它一切顺利,onsubmit操作打开一个新选项卡,但是当我在UIWebView中测试它时,onsubmit不会被触发。 表格已提交并注册 -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 并且所有方法都设置为拦截弹出窗口 [webView stringByEvaluatingJavaScriptFromString:@”window.open = function( inurl, blah, blah2 ) { document.location = ‘newTab:’+inurl; }”]; 在适当的UIWebView委托方法中。 关于它为什么不解雇的任何想法? 谢谢!

window.location.href在Ipad和Iphone中不起作用

我在表单中使用了Google Login API。 登录用户后,我使用window.location.href将用户重定向到另一个页面,但它在iPad和iPhone不起作用。 window.location.href = “http://example.com/test”;