Skip to content

MagicLinkToken

bhsd edited this page Dec 9, 2023 · 17 revisions
目录

Other Languages

简介

自由外链。

✅ 在 MiniBrowser 版本中可用。

Properties

protocol

展开

type: string
外链协议。

// protocol
var {firstChild} = Parser.parse('ftp://a');
assert.strictEqual(firstChild.protocol, 'ftp://');
firstChild.protocol = 'https://';
assert.equal(firstChild, 'https://a');

link

展开

type: string
外链。

// link
var {firstChild} = Parser.parse('ftp://a');
assert.strictEqual(firstChild.link, 'ftp://a');
firstChild.link = 'https://b';
assert.equal(firstChild, 'https://b');

Methods

lint

✅ 展开

returns: LintError[]
报告潜在语法错误。

// lint
var {firstChild} = Parser.parse('http://a。b');
assert.equal(firstChild, 'http://a。b');
assert.deepStrictEqual(firstChild.lint(), [
    {
        severity: 'warning',
        message: 'full-width punctuation in URL',
        startLine: 0,
        startCol: 8,
        startIndex: 8,
        endLine: 0,
        endCol: 9,
        endIndex: 9,
        excerpt: 'http://a。b',
    },
]);

cloneNode

展开

returns: this
深拷贝节点。

// cloneNode
var {firstChild} = Parser.parse('http://a');
assert.deepStrictEqual(firstChild.cloneNode(), firstChild);

getUrl

展开

returns: URL
获取网址。

// getUrl
var {firstChild} = Parser.parse('http://a');
assert.deepStrictEqual(firstChild.getUrl(), new URL('http://a/'));

setTarget

展开

param: string | URL 含协议的网址
设置外链目标。

// setTarget
var {firstChild} = Parser.parse('http://a');
firstChild.setTarget('https://b');
assert.equal(firstChild, 'https://b');

isParamValue

展开

returns: boolean
是否是模板或魔术字参数。

// isParamValue
var link = Parser.parse('{{a|http://a}}').querySelector('free-ext-link');
assert.equal(link, 'http://a');
assert(link.isParamValue());
Clone this wiki locally