
Product
Introducing Scala and Kotlin Support in Socket
Socket now supports Scala and Kotlin, bringing AI-powered threat detection to JVM projects with easy manifest generation and fast, accurate scans.
@codexteam/deeplinker
Advanced tools
Tiny script that helps you to use one link to open web pages or installed apps
This module helps you to create web-links for opening native applications directly if it is possible. Otherwise web page will be opened.
You can install script via package managers or download it to your server.
Install package
npm install @codexteam/deeplinker --save
yarn add @codexteam/deeplinker
Then require deeplinker
module
const deeplinker = require('@codexteam/deeplinker');
Download dist/deeplinker.js file to your server and add it to your webpage.
<script src="dist/deeplinker.js" async></script>
Let's imagine that you want to create a link that opens some page in application, if it is installed. If target application is missing then link should open a web page as a normal link.
Check out example schemes below.
Firstly you need to add the following params to deeplinker elements:
data-link
or href
with a usual linkdata-app-link
with a deep link (with custom protocol) to an applicationSet up data-app-link
param for links with href
.
<a href="https://www.instagram.com/codex_team/" data-app-link="instagram://user?username=codex_team">
Follow us on Instagram
</a>
Or set up data-link
and data-app-link
params for any other elements
<div data-link="https://t.me/codex_team" data-app-link="tg://resolve?domain=codex_team">
Join our Telegram-channel
</div>
Then you need to add click listeners. There are two ways to do this.
Add target class name to all deeplinker elements (deeplinker
by default). Use deeplinker.init()
function to add listeners automatically to all elements with target class name. event.preventDefault
and deeplinker.click
will be added as onclick function.
Run this function when page is loaded.
<body onload='deeplinker.init()'>
<div class="deeplinker" data-link="https://t.me/codex_team" data-app-link="tg://resolve?domain=codex_team">
Join our Telegram-channel
</div>
You can call deeplinker.init()
with string param to set up target selector. .deeplinker
by default.
Example:
deeplinker.init('.my_deeplinker_element');
for
<div class="my_deeplinker_element" ...>
Join our Telegram-channel
</div>
Call deeplinker.click(element)
function on click.
Set up click function on deeplinker elements.
<div onclick="deeplinker.click(this)"
data-link="https://t.me/codex_team"
data-app-link="tg://resolve?domain=codex_team">Join our Telegram-channel</div>
For link elements you also need to add event.preventDefault
function:
<a href="https://www.instagram.com/codex_team/"
onclick="event.preventDefault(); deeplinker.click(this)"
data-app-link="instagram://user?username=codex_team">Follow us on Instagram</a>
If you want to try to open app silently then call deeplinker.tryToOpenApp(deepLink)
.
Could be useful for redirection or invitation pages.
Doesn't work on mobile devices.
<body onload="deeplinker.tryToOpenApp('tg://user?username=codex_team')">
tg://resolve?domain=[username]
twitter://user?screen_name=[username]
instagram://user?username=[username]
fb://profile/[id]
vk://vk.com/[id]
Feel free to ask a question or improve this project.
MIT
FAQs
Tiny script that helps you to use one link to open web pages or installed apps
The npm package @codexteam/deeplinker receives a total of 3 weekly downloads. As such, @codexteam/deeplinker popularity was classified as not popular.
We found that @codexteam/deeplinker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports Scala and Kotlin, bringing AI-powered threat detection to JVM projects with easy manifest generation and fast, accurate scans.
Application Security
/Security News
Socket CEO Feross Aboukhadijeh and a16z partner Joel de la Garza discuss vibe coding, AI-driven software development, and how the rise of LLMs, despite their risks, still points toward a more secure and innovative future.
Research
/Security News
Threat actors hijacked Toptal’s GitHub org, publishing npm packages with malicious payloads that steal tokens and attempt to wipe victim systems.