Ajax 板


LINE

※ 引述《dream1124 (全新开始)》之铭言: : 标题: [问题] 取代phoneGap InAppBrowser api的可能? : 时间: Tue Jun 24 19:59:22 2014 : : 大家好 : : 想请问有没有可能在 phoneGap InAppBrowser 载入外部网页时, : 抽换网页里面呼叫的 javascript html DOM api 呢? : : 我的需求是要让 phoneGap App 能连到 app 外部的网页系统, : 执行像平常在桌电上的系统操作。 : : 因为 InAppBrowser 能整合在 app 里面又有回上一页的能力, : 所以这是我优先考虑的实作方式,我让 app 使用者点选连结之後呼叫 phoneGap 的 : window.open 引导开启 InAppBrowser。 : : 但遇到的问题是载入的网页本身会再呼叫浏览器的 window.open, : 用以开启像对话视窗那样的东西。 : 这让我的 InAppBrowser 改为呈现弹跳出的页面, : 然後又回不去最初 InAppBrowser 载入的页面。 : : 因此想请问 phoneGap 有没有办法替换 InAppBrowser 的 api 实作, : 抽换某些 api,像是 window.open,让载入的外部网页在 app 里面能正式执行呢? : : 或着请问有其他方法可以让 phoneGap 载入外部给一般浏览器的网页时, : 能正常显示与操作吗? : : 我知道期待开发给桌电浏览器的网页在行动装置上也能正常呈显不是好的想法, : 但专案的时间不够为原有的系统开发行动版,而且系统某些入口 : 前後端也绑得很死,可能也难以修改,暂时只能蒙着头硬上了.... : : 先谢谢大家的协助! : : -- :



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.230.164.28
: ※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Ajax/M.1403611164.A.CE5.html : 推 mrbigmouth:没试过 不过我在想有没有办法套iframe 之後从外部将 06/24 21:24 : → mrbigmouth:iframe内部的函数如window.open取代为适合的api? 06/24 21:24 : : 这方法已经试过,但因为我要载入的网页和原本 App 网页不是同源的 : 所以结果看起来是不太行,浏览器好像会因为安全性而挡掉操作。 : : 推 shadowjohn:InAppBrowser 有 executeScript 可以用啊~ 06/25 15:28 : 推 shadowjohn:不过 backbutton 的事件改不了~ :( 06/25 16:46 : 推 shadowjohn:搭loadstop 可以让你把你想动态处理的 js 放入~ 06/25 16:48 : : 後来我有试用这个方法,但现在遇到的困难是,要载入的网页本身是个 frameset : 的框框里面再塞入几个 frame : 在 loadstop 事件之後好像没办法执行 js,请问这是 frameset 的标准吗? : : 推 mrbigmouth:都什麽年代了还在用frameset啊XDDD 06/25 20:52 : : 工作嘛~ 总是会有些不是挑战 IQ, 反而挑战 EQ 的东西 (摊 : : 推 shadowjohn:可以用Interval loop 来检查frameset 的内容是否生成 06/26 08:27 : → shadowjohn:先写实体function再用 .toString() 喂给 code~ 06/26 08:30 : : 我前端不强,请问要怎麽检查 frameset 的内容呢? : 这边我猜是 eval 的方法执行 function 的做法? 不太懂意思~ 如果你会 php,装载一下 phpjs ,你会有 print_r 可以使用~ 反正在dump array、object 都很方便~ 例如 alert(print_r($(window.contents).contents().find("body"),true)); 即然你会用 InnAppBrowser 那你应该知道他是可以喂 code 的 https://github.com/apache/cordova-plugin-inappbrowser/blob/master/doc/index.md ref.addEventListener('loadstop', function(event){ //这边我们不会用到 event ,但需要用 executeScript //so ... var tmp_func = function(){ //你希望在页面打开後作什麽事 //试印这个inappb 的内容 alert($('body').html()); //有成功就照你说的继续往 frameset 找 //试找 frameset 里的 body 是不是有找到数量,这边有可能会还没等到,所 //以可以作一个简单的setInterval keep look var the_frameset = $($("body").find("你的frameset的id").eq(0).contents()); //有可能会因为 frameset 还没 ready the_frameset.ready(function(){ alert( the_frameset.find("body").size() ); }); }; ref.executeScript({ code:tmp_func.toString() }); }); : : 顺便想再请问 InAppBrowser executeScript 的里面程式码, : 如果在装置上测试时,有办法写到 Android LogCat 之类的地方吗? : 还是要用 weinre 之类的做法来取得执行讯息呢? : logcat 可以在 javascript 里写 console.log("HelloWorld"); : 谢谢~ : ※ 编辑: dream1124 (1.162.125.133), 06/26/2014 20:40:48 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.240.250.239
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Ajax/M.1403881000.A.91F.html
1F:推 dream1124:谢谢!! 06/29 23:16







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP