497406594 发表于 2016-3-5 21:34:18

链接跳转白屏

本帖最后由 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如下图,就跳转不过去,直接白屏。我这个问题是通过本地的登陆页面再跳转到另一个本地页面,只不过多加了三个参数,但如果登陆页面不是本地页面而是跳转到服务器的登陆页面,再通过登录页面跳转到带参数的服务器页面又能够正常跳转过去。

http://www.phonegap100.com/forum.php?mod=image&aid=1692&size=300x300&key=367ab4b647ce7726&nocache=yes&type=fixnone


497406594 发表于 2016-3-5 21:50:25

package com.example.acmer;

import android.os.Bundle;
import android.view.Menu;
import org.apache.cordova.*;
public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);   
                super.setIntegerProperty("splashscreen", R.drawable.topic1);
                super.setIntegerProperty("loadUrlTimeoutValue", 60000);
                super.loadUrl("file:///android_asset/www/login.jsp", 3000);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}


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

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

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

android:largeScreens="true"

android:normalScreens="true"

android:smallScreens="true"

android:resizeable="true"

android:anyDensity="true"

/>

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

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

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

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

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

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

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

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

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

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

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

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

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <application
      
      android:allowBackup="true"
      android:icon="@drawable/icon"
      android:label="@string/app_name"
      
         android:allowClearUserData="false"
         android:hardwareAccelerated="false"
      
      android:theme="@style/AppTheme" >
      <activity
            android:name="com.example.acmer.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

ionicwang 发表于 2016-3-6 10:53:37

cordova 不是这样整的

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

497406594 发表于 2016-3-6 14:57:32

ionicwang 发表于 2016-3-6 10:53
cordova 不是这样整的

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

那能不能就是本地的jsp文件,然后用webview调
页: [1]
查看完整版本: 链接跳转白屏