Di mPaaS, disarankan untuk menambahkan kontrol akses ke semua JavaScript API (JSAPI). Anda dapat mengonfigurasi sebuah Plugin guna menambahkan kontrol akses ini.
Kustomisasi izin untuk mengontrol sebuah Plugin.
Kustomisasi sebuah Plugin untuk mendengarkan event pemanggilan JSAPI dan mencegatnya.
Setelah Plugin mencegat sebuah event, Plugin tersebut harus memperoleh URL halaman saat ini. Disarankan agar Plugin memeriksa apakah string tersebut sesuai dengan informasi host dan skema.
@interface MPPlugin4WebView : NBPluginBase @end @implementation MPPlugin4WebView - (void)pluginDidLoad { self.scope = kPSDScope_Scene; // -- Mencegat informasi tentang JSAPI yang sedang dipanggil. [self.target addEventListener:kEvent_Invocation_Event_Start withListener:self useCapture:NO]; [self.target addEventListener:kEvent_Invocation_Invoke withListener:self useCapture:NO]; [super pluginDidLoad]; } - (void)handleEvent:(PSDEvent *)event { [super handleEvent:event]; if([kEvent_Invocation_Event_Start isEqualToString:event.eventType] || [kEvent_Invocation_Invoke isEqualToString:event.eventType]){ PSDInvocationEvent *invocationEvent = (PSDInvocationEvent *)event; NSString *apiName = invocationEvent.invocationName; NSDictionary *data = invocationEvent.invocationData; // Memperoleh URL halaman saat ini dan memeriksa apakah string tersebut cocok dengan informasi skema dan host. NSURL *url = event.context.currentViewController.url; if (![url.host isEqualToString:@"xxx"] || ![url.scheme isEqualToString:@"xxx"]) { [event preventDefault]; [event stopPropagation]; return; } } } - (int)priority { return PSDPluginPriority_High+1; }PentingPencocokan tepat diperlukan untuk URL. Minimal, informasi skema dan host dalam kelas URI harus dicocokkan. Hindari penggunaan pencocokan ekspresi reguler atau gunakan dengan hati-hati. Jangan gunakan fungsi yang tidak presisi seperti contains, startsWith, endsWith, dan indexOf.
Daftarkan Plugin tersebut.
Tentukan jalur ke Plugin kustom saat HTML5 Container di mPaaS diinisialisasi.
Buka file plist di bundle Plugin kustom dan daftarkan Plugin yang telah dikustomisasi pada langkah sebelumnya. Untuk informasi lebih lanjut, lihat Daftarkan sebuah Plugin.
