You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Mar 14, 2023. It is now read-only.
the dart code below displays a web pdf by authenticating with a token to a backend via the webviewx pub: , the token however on android is not passed and the page displays an error of authentication, what should I change to ensure that the token is also passed on android? How to solve this error by WebViewX?
import 'dart:developer';
import 'dart:io';
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:webviewx/webviewx.dart';
class WebViewXPage extends StatefulWidget {
final Url, Token;
WebViewXPage(this.Url, this.Token);
@override
_WebViewXPageState createState() => _WebViewXPageState();
}
class _WebViewXPageState extends State<WebViewXPage> {
late WebViewXController webviewController;
final initialContent =
'<h4> This is some hardcoded HTML code embedded inside the webview <h4> <h2> Hello world! <h2>';
final executeJsErrorMessage =
'Failed to execute this task because the current content is (probably) URL that allows iframe embedding, on Web.\n\n'
'A short reason for this is that, when a normal URL is embedded in the iframe, you do not actually own that content so you cant call your custom functions\n'
'(read the documentation to find out why).';
Size get screenSize => MediaQuery.of(context).size;
@override
void dispose() {
webviewController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Container(
padding: const EdgeInsets.all(10.0),
child: Column(
children: <Widget>[
Container(
decoration: BoxDecoration(
border: Border.all(width: 0.2),
),
child: _buildWebViewX(),
),
],
),
),
),
);
}
Widget _buildWebViewX() {
return WebViewX(
key: const ValueKey('webviewx'),
initialContent: widget.Url,
initialSourceType: SourceType.html,
height: screenSize.height - 150,
width: screenSize.width,
onWebViewCreated: (controller) =>{ webviewController = controller, _setUrl()},
onPageFinished: (src) => debugPrint('The page has finished loading: $src\n'),
jsContent: const {
EmbeddedJsContent(
js: "function testPlatformIndependentMethod() { console.log('Hi from JS') }",
),
EmbeddedJsContent(
webJs: "function testPlatformSpecificMethod(msg) { TestDartCallback('Web callback says: ' + msg) }",
mobileJs:
"function testPlatformSpecificMethod(msg) { TestDartCallback.postMessage('Mobile callback says: ' + msg) }",
),
},
webSpecificParams: const WebSpecificParams(
printDebugInfo: true,
),
mobileSpecificParams: const MobileSpecificParams(
androidEnableHybridComposition: true,
),
navigationDelegate: (navigation) {
debugPrint(navigation.content.sourceType.toString());
return NavigationDecision.navigate;
},
);
}
void _setUrl() {
webviewController.loadContent(widget.Url, SourceType.urlBypass, headers: {'Cmdbuild-authorization': widget.Token});
}
Widget buildSpace({
Axis direction = Axis.horizontal,
double amount = 0.2,
bool flex = true,
}) {
return flex
? Flexible(
child: FractionallySizedBox(
widthFactor: direction == Axis.horizontal ? amount : null,
heightFactor: direction == Axis.vertical ? amount : null,
),
)
: SizedBox(
width: direction == Axis.horizontal ? amount : null,
height: direction == Axis.vertical ? amount : null,
);
}
}
The text was updated successfully, but these errors were encountered:
the dart code below displays a web pdf by authenticating with a token to a backend via the webviewx pub: , the token however on android is not passed and the page displays an error of authentication, what should I change to ensure that the token is also passed on android? How to solve this error by WebViewX?
The text was updated successfully, but these errors were encountered: