Skip to content

Instantly share code, notes, and snippets.

@zmmbreeze
zmmbreeze / executeScript.js
Last active August 29, 2015 13:57
执行远程或内敛javascript,支持script中包含document.write。用于将js广告渲染到target, 基于tangram
/**
* 执行远程或内敛javascript,支持script中包含document.write
* 用于将js广告改为渲染到target, 基于tangram
*
* executeScript({
* 'target': baidu.g('ad'),
* 'url': 'http://ecma.bdimg.com/adtest/0116fb68cf061c3ec55516d4c79946ca.js'
* });
*
* executeScript({
@zmmbreeze
zmmbreeze / autoFitIframe.js
Created March 27, 2014 09:28
使同域的iframe宽度撑满其所在容器,并且高度自适应其内容
/**
* 使同域的iframe宽度撑满其所在容器,并且高度自适应其内容
*
* @param {Element} iframe .
*/
function autoFitIframe(iframe) {
var doc = iframe.contentDocument || iframe.contentWindow.document;
// 设置iframe宽度
iframe.style.width = '100%';
hasAttribute = function(node, attribute) {
node = node.getAttributeNode(attribute);
return !!(node && node.specified);
};
function fireClickEvent(el) {
var event;
// phantomjs目不支持new Event()的形式:https://github.com/ariya/phantomjs/issues/11289
if (document.createEvent) {
event = document.createEvent('MouseEvent');
event.initEvent('click', true, true);
el.dispatchEvent(event);
}
else if (el.fireEvent) {
@zmmbreeze
zmmbreeze / redirect.html
Created January 27, 2016 12:00
redirect
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>跳转中...</title>
</head>
<body>
<script>
(function(url) {
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
@zmmbreeze
zmmbreeze / analytics.js
Last active June 1, 2025 06:51
GA的源码 analytics.js
(function() {
/**
* 记录方法使用情况的类
* @param {Array.<boolean>} umMap 初始的使用情况
*/
var UsageManager = function(umMap) {
this.umMap = umMap || [];
};
/**
* 记录新的使用情况
// copy from https://github.com/vuejs/vue/blob/v2.0.1/src/shared/util.js
/**
* Make a map and return a function for checking if a key
* is in that map.
*/
export function makeMap (
str: string,
expectsLowerCase?: boolean
): (key: string) => true | void {
const map = Object.create(null)
function preg_quote( str ) {
// http://kevin.vanzonneveld.net
// + original by: booeyOH
// + improved by: Ates Goral (http://magnetiq.com)
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: Onno Marsman
// * example 1: preg_quote("$40");
// * returns 1: '\$40'
// * example 2: preg_quote("*RRRING* Hello?");
// * returns 2: '\*RRRING\* Hello\?'