2016-11-10 29 views
7

कुछ प्रदर्शन समस्याओं के कारण, मैं आईओएस पर WKWebView का उपयोग करने के लिए एक कोणीय जेएस 2/फोनगैप ऐप को अपग्रेड करने का प्रयास कर रहा हूं।कोणीय 2.0 राउटर नेविगेशन आईओएस पर काम नहीं कर रहा है WKWebView

दुर्भाग्य से, नेविगेट रूट करने के लिए कोई भी कॉल काम नहीं करती है। इसमें routerlink और this.route.navigate कॉल शामिल हैं। फेंकने में कोई त्रुटि नहीं है। क्या किसी और ने इसे देखा है और/या शायद एक कामकाज है?

कोड सामान्य UIWebView का उपयोग कर ठीक काम करता है।

मैं कोणीय के लिए एक सापेक्ष नौसिखिया हूं इसलिए किसी भी सुझाव का स्वागत है।

import { Component } from "@angular/core"; 
import { Routes, Router, ActivatedRoute } from "@angular/router"; 
import { LoggedInCallback } from "./service/cognito.service"; 

export class HomeComponent implements LoggedInCallback { 

constructor(public router:Router){ 
} 

isLoggedIn(message:string, isLoggedIn:boolean) { 
    if (isLoggedIn){ 
     this.router.navigate(['/home/cl']); 
    } 
    else { 
     console.log('HomeComponent: '+message); 
    } 
} 

मार्ग मॉड्यूल:

यहाँ प्रासंगिक कोड के कुछ कैसा दिखता है

import { NgModule } from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { FormsModule } from '@angular/forms'; 
import { Routes, RouterModule } from '@angular/router'; 
import { CategoryListComponent } from './categorylist/categorylist.component'; 


const approutes: Routes = [ 
    { 
     path: 'home/cl', 
     component: CategoryListComponent 
    }, 
    ... 
]; 
@NgModule({ 
    declarations: [ 

], 
    imports: [RouterModule.forRoot(approutes), 
     BrowserModule, 
     FormsModule], 
    exports: [RouterModule] 

}) 
export class AppRoutingModule { } 

नीचे एक टिप्पणी के जवाब में:

के रूप में उल्लेख किया है, यह एक phonegap अनुप्रयोग, इसलिए अधिकांश संदर्भ फ़ाइल (प्रोटोकॉल) का उपयोग कर रहे हैं (मुझे लगता है)। हालांकि, पहला पृष्ठ ठीक है, और यह एक ही जावास्क्रिप्ट फ़ाइल के भीतर सामग्री का संदर्भ देता है। अजीब चीज यह है कि अन्य सभी राउटर-संदर्भित सामग्री भी उसी जावास्क्रिप्ट फ़ाइल में हैं।

मैं उम्मीद कर रहा था कि कोई राउटर व्यवहार के नट और बोल्ट को समझने के लिए समझ जाएगा कि यह इस माहौल में क्यों काम नहीं करता है।

+0

कृपया मुझे कोड दिखाएं। –

+0

यदि आप राउटर मॉड्यूल आयात करने की आवश्यकता के मुकाबले बाल मार्गों का उपयोग कर रहे हैं। और कृपया कुछ कोड जोड़ें ताकि हम आपकी मदद कर सकें। –

+0

मैंने कुछ कोड जोड़ा है, लेकिन मुद्दा यह है कि यह UIWebView में ठीक काम करता है, लेकिन WKWebView में विफल रहता है। –

उत्तर

1

क्या आप इसे किसी वेब सर्वर या फ़ाइल: // प्रोटोकॉल के माध्यम से एक्सेस कर रहे हैं? ऐसा लगता है कि wkwebview के साथ समस्याएं हैं।

See this article

+0

जानकारी के लिए धन्यवाद। मैंने प्रश्न के लिए कुछ और विवरण जोड़ा .... –

+0

@ माइक यदि आप लेख को देखते हैं तो यह उल्लेख करता है कि कॉर्डोवा इंडेक्स पेज लोड करता है तो कुछ भी नहीं होता "इंडेक्स पेज आईओएस 9 में ऐप्पल एक समस्या तय करता है जहां आप नहीं कर सकते WKWebView में एक HTML दस्तावेज़ लोड नहीं करें। यह मुख्य कारण है कि कॉर्डोवा आईओएस 9 में WKWebView के लिए आधिकारिक समर्थन जोड़ने में सक्षम है। इसलिए आपका इंडेक्स पेज WKWebView में दिखाई देता है, फिर ... और कुछ भी काम नहीं करता है। " "WKWebView: ऐसा लगता है कि स्थानीय फ़ाइलों का इलाज होता है जैसे कि वे रिमोट सर्वर से आए हैं, भले ही वे ऐप में हों, और ऐसे अनुरोध अवरुद्ध हैं।" फ़ोनगैप कॉर्डोवा स्थानीय सर्वर स्थापित करने का प्रयास करता है। – PersyJack

+0

मैंने लेख पढ़ा और मैं समस्या से परिचित हूं। हालांकि, यह लागू नहीं होना चाहिए क्योंकि सभी .js एक फ़ाइल में हैं और वह फ़ाइल पहले ही लोड हो चुकी है। मैं उम्मीद कर रहा था कि राउटर व्यवहार के बारे में कुछ जानकारी हो और मुझे क्या हो रहा है समझाया जा सकता है .. हालांकि मैं मदद की सराहना करता हूं ... –

संबंधित मुद्दे