SWebView class

Inheritance
Available extensions

Constructors

SWebView({Key? key, String url = "https://flutter.dev", dynamic onError(String? error)?, VoidCallback? onIframeBlocked, bool autoDetectFrameRestrictions = true, List<String> corsProxyUrls = const ['https://api.codetabs.com/v1/proxy?quest=', 'https://cors.bridged.cc/', 'https://api.allorigins.win/raw?url='], bool showToolbar = kIsWeb})
const

Properties

autoDetectFrameRestrictions bool
Automatically detect X-Frame-Options and CSP restrictions (default: true on web) When true, SWebView will check headers and apply CORS proxy only if needed This eliminates the need to manually pass useCorsProxy parameter
final
corsProxyUrls List<String>
List of CORS proxies to try in order (with fallback) Default proxies are ordered by speed/reliability
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onError → dynamic Function(String? error)?
Callback for load errors
final
onIframeBlocked VoidCallback?
Callback when iframe is blocked (web platform only)
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showToolbar bool
Show the toolbar with retry with proxy and open-in-new-tab buttons Default: true when on Web platform
final
url String
The URL to load in the WebView
final

Methods

addMaterialWidget() Material

Available on Widget, provided by the GenericExtensions extension

addTooltipWidget(String toolTip) Tooltip

Available on Widget, provided by the GenericExtensions extension

animate({Key? key, List<Effect>? effects, AnimateCallback? onInit, AnimateCallback? onPlay, AnimateCallback? onComplete, bool? autoPlay, Duration? delay, AnimationController? controller, Adapter? adapter, double? target, double? value}) Animate

Available on Widget, provided by the AnimateWidgetExtensions extension

Wraps the target Widget in an Animate instance, and returns the instance for chaining calls. Ex. myWidget.animate() is equivalent to Animate(child: myWidget).
borderRadius([BorderRadiusGeometry? borderRadius]) Widget

Available on Widget, provided by the GenericExtensions extension

boxDecoration([BoxDecoration? boxDecoration]) Widget

Available on Widget, provided by the GenericExtensions extension

colorFilter([ColorFilter? colorFilter]) Widget

Available on Widget, provided by the GenericExtensions extension

set parent widget in center
createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<SWebView>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

getProxyCache() Map<String, bool>
Get a read-only copy of the current proxy cache Returns a map of URLs to whether they require a proxy Key: URL string, Value: bool (true = needs proxy)
isUrlInProxyCache(String url) bool
Check if a specific URL is in the proxy cache and requires a proxy Returns true if the URL is cached and requires a proxy, false otherwise
openInNewTab(String url, {bool addToProxyCacheForNextTime = true}) Future<void>
Static method to open a URL in a new browser tab Can be called from custom buttons stacked over the widget Web platform only - no-op on native platforms
removeFromCache(String url) Future<void>
Static method to remove a URL from the proxy cache Use this to remove a URL that was previously marked as requiring a proxy The next load attempt will try a direct connection without the proxy
retryWithProxy(String url) Future<void>
Static method to load a URL via CORS proxy Can be called from custom buttons stacked over the widget This will mark the URL for proxy usage and trigger a reload
tapTarget({required Widget child, Key? key}) Widget
A convenience widget that wraps any child with PointerInterceptor