open external browser where in-app
open-external-browser-example.mov
npm install open-external-browser
# or
yarn add open-external-browser
import { openExternalBrowser } from 'open-external-browser';
function Bar() {
const onClick = () => {
openExternalBrowser({ where: 'all' })
// openExternalBrowser({ where: 'all', to: 'https:www.some-url-you-want.com' });
// openExternalBrowser({ where: 'kakaotalk' });
// openExternalBrowser({ where: 'kakaotalk', onOpen: (where) => console.log(where) });
}
return <button onClick={onClick}>open</button>
}
import { useOpenExternalBrowser } from 'open-external-browser';
function Foo() {
useOpenExternalBrowser({ where: 'all' });
// same API with openExternalBrowser
// useOpenExternalBrowser({ where: 'all', to: 'https:www.some-url-you-want.com' });
// useOpenExternalBrowser({ where: 'kakaotalk' });
// useOpenExternalBrowser({ where: 'kakaotalk', onOpen: (where) => console.log(where) });
return <div />;
}
In-app environment to open an external browser
all
- open when below in-appsstring (in-app)
kakaotalk
- open when kakaotalk in-appline
- open when line in-app
string[] (in-apps)
['kakaotalk', 'line']
- open when kakaotalk or line in-app
openExternalBrowser({ where: 'all' });
openExternalBrowser({ where: 'kakaotalk' });
openExternalBrowser({ where: ['kakaotalk', 'line'] });
useOpenExternalBrowser({ where: 'all' });
useOpenExternalBrowser({ where: 'kakaotalk' });
useOpenExternalBrowser({ where: ['kakaotalk', 'line'] });
url to open in external browser
default (undefined)
- current url (location.href)string
- url you want
openExternalBrowser({ where: 'all', to: 'https://www.your-url.com' });
useOpenExternalBrowser({ where: 'all', to: 'https://www.your-url.com' });
callback function when open external browser
default (undefined)
- do nothingfunction ((where: InApp) => void)
- callback function
openExternalBrowser({ where: 'all', onOpen: (where) => console.log(where) });
useOpenExternalBrowser({ where: 'all', onOpen: (where) => console.log(where) });
import { useOpenExternalBrowser, type OpenEventHandler } from 'open-external-browser';
function Foo() {
const [state, setState] = useState<string>('');
const onOpen: OpenEventHandler = (where) => {
setState(where);
trackEvent(where);
}
useOpenExternalBrowser({ where: 'all', onOpen: onOpen });
return <span>{state}</span>
}