PhoneGap中文网

标题: 链接跳转白屏 [打印本页]

作者: 497406594    时间: 2016-3-5 21:34
标题: 链接跳转白屏
本帖最后由 497406594 于 2016-3-5 22:05 编辑

我的链接是本地文件index.jsp?id={1}&name={2}&&portrait={3}其中{1}是用户id,{2}用户名,{3}头像是服务器的地址
我是通过登陆然后返回的数据再跳转到该链接,因为{2}与{3}可能包含中文,所以用encodeURIComponent进行编码了
但跳转的时候整个就白屏了,应该是没法跳转过去到了空白网页里。
但把{2}跟{3}随便填了个较短的字符串又能成功跳转过去了,例如index.jsp?id=1&name=123&&portrait=123
可是我的应用必须要有{1}{2}{3}这三个数据,所以想请教下怎么解决这个问题

我说明下{2}是中文名,然后转码的,例如 测试,{3}相当于路径加文件名,例如 /phonegap/1.png如下图,就跳转不过去,直接白屏。我这个问题是通过本地的登陆页面再跳转到另一个本地页面,只不过多加了三个参数,但如果登陆页面不是本地页面而是跳转到服务器的登陆页面,再通过登录页面跳转到带参数的服务器页面又能够正常跳转过去。




QQ图片20160305213506.jpg (78.05 KB, 下载次数: 401)

QQ图片20160305213506.jpg

作者: 497406594    时间: 2016-3-5 21:50
  1. package com.example.acmer;

  2. import android.os.Bundle;
  3. import android.view.Menu;
  4. import org.apache.cordova.*;
  5. public class MainActivity extends DroidGap {
  6. @Override
  7. public void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);     
  9.                 super.setIntegerProperty("splashscreen", R.drawable.topic1);
  10.                 super.setIntegerProperty("loadUrlTimeoutValue", 60000);
  11.                 super.loadUrl("file:///android_asset/www/login.jsp", 3000);
  12. }
  13. @Override
  14. public boolean onCreateOptionsMenu(Menu menu) {
  15. // Inflate the menu; this adds items to the action bar if it is present.
  16. getMenuInflater().inflate(R.menu.main, menu);
  17. return true;
  18. }

  19. }
复制代码


我是上面的代码跳转到登陆页面,登陆页面检测用户名密码成功后再调用
location.href = "index.jsp?id=" + val.result.id + "&name=" + encodeURIComponent(val.result.username) + "&portrait=" + encodeURIComponent(val.result.portrait);
然后就出出现白屏的问题了

AndroidManifest.xml 是这样的
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3.     package="com.example.acmer"
  4.     android:versionCode="1"
  5.     android:versionName="1.0" >

  6.     <uses-sdk
  7.         android:minSdkVersion="8"
  8.         android:targetSdkVersion="17" />
  9. <supports-screens

  10. android:largeScreens="true"

  11. android:normalScreens="true"

  12. android:smallScreens="true"

  13. android:resizeable="true"

  14. android:anyDensity="true"

  15. />

  16. <uses-permission android:name="android.permission.CAMERA" />

  17. <uses-permission android:name="android.permission.VIBRATE" />

  18. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

  19. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

  20. <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

  21. <uses-permission android:name="android.permission.READ_PHONE_STATE" />

  22. <uses-permission android:name="android.permission.INTERNET" />

  23. <uses-permission android:name="android.permission.RECEIVE_SMS" />

  24. <uses-permission android:name="android.permission.RECORD_AUDIO" />

  25. <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

  26. <uses-permission android:name="android.permission.READ_CONTACTS" />

  27. <uses-permission android:name="android.permission.WRITE_CONTACTS" />

  28. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  29. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  30. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  31.     <application
  32.         
  33.         android:allowBackup="true"
  34.         android:icon="@drawable/icon"
  35.         android:label="@string/app_name"
  36.         
  37.          android:allowClearUserData="false"
  38.          android:hardwareAccelerated="false"
  39.         
  40.         android:theme="@style/AppTheme" >
  41.         <activity
  42.             android:name="com.example.acmer.MainActivity"
  43.             android:label="@string/app_name" >
  44.             <intent-filter>
  45.                 <action android:name="android.intent.action.MAIN" />

  46.                 <category android:name="android.intent.category.LAUNCHER" />
  47.             </intent-filter>
  48.         </activity>
  49.     </application>

  50. </manifest>
复制代码


作者: ionicwang    时间: 2016-3-6 10:53
cordova 不是这样整的

打开jsp php这样的远程web页面的话就用webview
作者: 497406594    时间: 2016-3-6 14:57
ionicwang 发表于 2016-3-6 10:53
cordova 不是这样整的

打开jsp php这样的远程web页面的话就用webview

那能不能就是本地的jsp文件,然后用webview调




欢迎光临 PhoneGap中文网 (http://bbs.phonegap100.com/) Powered by Discuz! X3.2