• Stars
    star
    469
  • Rank 90,108 (Top 2 %)
  • Language
    HTML
  • License
    MIT License
  • Created almost 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Showcasing what in-app browsers do under the hood

InAppBrowser.com

What is this project?

Please read this article first

How does it work?

To my knowledge, there is no good way to monitor all JavaScript commands that get executed by the host iOS app (would love to hear if there is a better way).

I created a new, plain HTML file, with some JS code to override some of the document. methods:

document.getElementById = function(a, b) {
    appendCommand('document.getElementById("' + a + '")')
    return originalGetElementById.apply(this, arguments);
}

View the Source Code here

Check out the full announcement

How to use

Open InAppBrowser.com through the iOS/Android app of your choice. For a social media app post the link, or for messengers send the link to yourself, and try opening the page as part of their in-app web browser.

ad-container folder

This folder contains an empty iOS app project, that renders the InAppBrowser.com website.

[self.webView evaluateJavaScript:@"document.getElementById('usingNewMethod')"
                         inFrame:nil
                   inContentWorld:[WKContentWorld defaultClientWorld]
                completionHandler:^(id _Nullable something, NSError * _Nullable error) {
    NSLog(@"new: %@", something);
}];

[self.webView evaluateJavaScript:@"document.getElementById('usingOldMethod')"
                copletionHandler:^(id _Nullable something, NSError * _Nullable error) {
    NSLog(@"old: %@", something);
}];

The above code uses the new and the old method of running JavaScript code on websites. For more deatils, check out WKContentWorld.

When you open the InAppBrowser.com website through that app, you can see how only the "usingOldMethod" output is shown, while the "usingNewMethod" output doesn't show up.

More Repositories

1

TSMessages

💌 Easy to use and customizable messages/notifications for iOS à la Tweetbot
Objective-C
4,879
star
2

detect.location

An easy way to access the user's iOS location data without actually having access
Objective-C
1,244
star
3

FxLifeSheet

Tracking the key metrics of my life
Ruby
1,051
star
4

what-terminal-is-felix-using

💻 For everyone who wants to know more about the terminal I use
511
star
5

overkill-for-mac

Stop iTunes from opening when you connect your iPhone
Swift
488
star
6

overkill

Don't let iTunes interrupt your workflow 💥🎵
Ruby
479
star
7

WiFiAuth

Because connecting to WiFis is still an unsolved problem 😂
Objective-C
426
star
8

mood

Keeping track of current level of happiness
Ruby
350
star
9

steal.password

Easily get the user's Apple ID password, just by asking
330
star
10

watch.user

Every iOS app you ever gave permission to use your camera can record you any time it runs - without notice
Swift
286
star
11

markdown-to-html-github-style

Generate a simple HTML page based on a markdown file, that looks like GitHub's stylesheet
HTML
213
star
12

MajorKey

The fastest iOS app to add a note to your email inbox
Swift
186
star
13

new-mac

List of the things to do on a new Mac
Ruby
179
star
14

notes-exporter

Because GPDR exists for a reason, oh hi Apple
Ruby
162
star
15

krausefx.com

My personal blog
HTML
158
star
16

instapipe

Automatically cross-post your Instagram stories
Ruby
155
star
17

twitter-unfollow

Unfollow everybody on Twitter
Ruby
145
star
18

whereisfelix.today-backend

Yes, that's a thing
JavaScript
127
star
19

howisFelix.today

Yes, that's a thing
HTML
108
star
20

dotfiles

Learning the difference between > and >>
Shell
85
star
21

fastrockets

Visualize fastlane launches as rockets
Ruby
25
star
22

speaking

Upcoming and past speaking engagements
23
star
23

fastlane-ascii-art

🃏 Add some fun to your fastlane output.
Ruby
22
star
24

auxcord.org

Have a Sonos system, and are hosting a party? Let's gooo
Ruby
21
star
25

evaluation_report

The evaluation report I wrote about fastlane at university
19
star
26

trollol

GitHub pull requests - done right
14
star
27

fastlane-plugin-load_json

Loads a local JSON file and parses it
Ruby
14
star
28

Three20.swift

Three20 is a Swift library for iOS developers
11
star
29

privacy-share-button

Proof of concept: detect when an iOS user hits the share button on your website
HTML
11
star
30

rScreenshooter

Helps you create screenshots in multiple languages on different device types using UIAutomation.
Ruby
11
star
31

fastlane-plugin-clubmate

Print the Club Mate logo in your build output
Ruby
10
star
32

brewfile

Some of the brews I use
Ruby
9
star
33

trips

My upcoming trips
Ruby
9
star
34

fastlane-tunes

🎶 Play music using fastlane, because you can.
Ruby
9
star
35

telegram-advent-calendar

A simple to use Telegram Advent Calendar
Ruby
8
star
36

fastlane-plugin-ya_tu_sabes

Ya tu sabes.
Ruby
8
star
37

felix.fitness

Public fitness dashboard
7
star
38

certs

Certificates for [email protected] certs
7
star
39

tweet_collection_manager

Managing all the tweets, like a management manager
Ruby
6
star
40

fastlane-plugin-no_u

no u
Ruby
6
star
41

wealthfront-tax-info-exporter

Export all transactions (including dividends) details into a CSV file
Ruby
5
star
42

doesitrain.today

Ruby
5
star
43

resume

About me
5
star
44

engagement-enhancer

Not hitting your OKRs? Not getting enough engagement? Fix it with one little trick
HTML
4
star
45

krausefx-gem

Ruby
4
star
46

set-times

A collection of set-times for various venues
HTML
4
star
47

bot

@seriouskrausefx
Ruby
4
star
48

gwg

Geringwertige Wirtschaftsgüter finden
CSS
2
star
49

license_checker

Ruby
2
star
50

light-phone-note-to-self

A simple script to fetch the most recent Notes from your Light Phone and send them to yourself via Email
Ruby
1
star
51

whichsideoftheriver.in

HTML
1
star