speculative
v0.1.2
Published
prerender, preconnect, preload, prefetch, dns-prefetch
Downloads
16
Maintainers
Readme
speculative
npm install speculative --save
var speculative = require('speculative')
speculative({
href: 'http://google.com',
rel: 'prerender'
})
API
speculative(attributes)
attributes
href
: URIrel
: relationpr
: probability number between0
and1
as
: content typecrossorigin
: CORS settingmedia
: media query
rel
Examples
Speculating navigation
speculative({
href: '/page/2',
rel: 'prerender next',
as: 'html',
pr: .5
})
speculative({
href: '/page/3',
rel: 'prefetch',
as: 'html',
pr: .2
})
Prefetching playlist tracks
speculative({
href: './track-2.mp3',
rel: 'prefetch',
as: 'media',
pr: .8
})
speculative({
href: './track-3.mp3',
rel: 'prefetch',
as: 'media',
pr: .3
})
Prefetching an image
speculative({
href: './hi-res.jpg',
rel: 'prefetch',
media: '(min-width: 60rem)',
as: 'image'
})
Prefetching JavaScript
speculative({
href: 'https://code.jquery.com/jquery-3.1.0.slim.min.js',
rel: 'prefetch',
crossorigin: 'anonymous',
as: 'script',
pr: 1
})
Prefetching CSS
speculative({
href: '/animations.css',
rel: 'prefetch',
media: 'screen',
as: 'style'
})
Prefetch with care. Test for metered data usage
var cxn = require('cxn')
var speculative = cxn.metered() ? function() {} : require('speculative')
License
MIT