npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-native-webview-alternative

v0.0.3

Published

Alternative to react-native-webview

Downloads

10

Readme

react-native-webview-alternative

npm version PRs Welcome

Alternative to react-native-webview. Less features. No Windows or macOS support. Not included in Expo.

Installation

npm install react-native-webview-alternative
(cd ios && pod install) # for iOS

Usage

import WebView from "react-native-webview-alternative";

<WebView
	source={{ html: '<h1>Hello World</h1>' }}
	style={{ width: 300, height: 300 }}
/>

Props

Extends ViewProps.

source

Load HTML into the WebView.

Properties

  • html (string) - The string to use as the contents of the webpage
  • baseURL (string or undefined) - A URL used to resolve relative URLs within the document

|Type|Required|Default value| |----|--------|-------------| |object|No|null|

scrollEnabled

When set to false disables scrolling and pinch to zoom. Make sure to add maximum-scale to your viewport meta tag in order to prevent automatic scaling when focusing an input with a small font size on iOS.

|Type|Required|Default value| |----|--------|-------------| |boolean|No|true|

onLoad

Called when page finishes loading.

|Type|Required| |----|--------| |function|No|

onMessage

Called when a message is sent from the webview.

iOS

Use webkit.messageHandlers.jsMessageHandler.postMessage(message) to send your message. Supported types are object, string, number, and boolean. You will receive message as a property of nativeEvent.

Android

Use JSBridge.postString(string) to send a string. Use JSBridge.postNumber(number) to send a number. Use JSBridge.postBoolean(boolean) to send a boolean. Use JSBridge.postNull() to send null. You will receive your message as a property of nativeEvent.

|Type|Required| |----|--------| |function|No|

keyboardDisplayRequiresUserAction

When set to false allows HTMLElement.focus(), and autofocus attribute to display the keyboard.

|Type|Required|Default value|Platform| |----|--------|-------------|--------| |boolean|No|true|iOS|

hideKeyboardAccessoryView

When set to true this will hide the default keyboard accessory view.

|Type|Required|Default value|Platform| |----|--------|-------------|--------| |boolean|No|false|iOS|

Methods

focus()

focus()

Android

Calls requestFocus() and shows the keyboard.

iOS

Calls HTMLElement.blur() and HTMLElement.focus() on document.activeElement. It won't work if keyboardDisplayRequiresUserAction is true or if document.activeElement is not focusable. It is recommended to just focus your field from JavaScript instead of calling this method, calling blur beforehand may be required.

injectJavaScript()

injectJavaScript(string: string)

Executes the JavaScript string.

scrollTo()

scrollTo(options?: {x?: number, y?: number, animated?: boolean})

Scrolls to a given x, y offset, either immediately or with a smooth animation.

By default x and y are 0, animated is true.

Requirements

  • React Native 0.60 or later

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT