Skip to content

RedirectTargetToken

Bhsd edited this page Jan 22, 2025 · 5 revisions

Other Languages

简介

重定向目标。RedirectTargetToken 继承了 LinkBaseToken 类的全部属性和方法,这里不再列出。

✅ 在 MiniBrowser 版本中可用。

Properties

type

✅ 展开

type: 'redirect-target'

// type
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a]]');
assert.equal(lastChild, '[[a]]');
assert.strictEqual(lastChild.type, 'redirect-target');

innerText

展开

加入的版本: 1.10.0

type: string
链接文本,只读。

// innerText (main)
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a_b#a_b|b]]');
assert.equal(lastChild, '[[a_b#a_b|b]]');
assert.strictEqual(lastChild.innerText, 'A b#a_b');

Methods

lint

✅ 展开

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

// lint
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a|b]]');
assert.equal(lastChild, '[[a|b]]');
assert.deepStrictEqual(lastChild.lint(), [
	{
		rule: 'no-ignored',
		severity: 'error',
		message: 'useless link text',
		startLine: 0,
		startCol: 13,
		startIndex: 13,
		endLine: 0,
		endCol: 15,
		endIndex: 15,
		fix: {
			range: [13, 15],
			text: '',
			desc: 'remove',
		},
	},
]);

cloneNode

展开

param: this
深拷贝节点。

// cloneNode (main)
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a|b]]');
assert.equal(lastChild, '[[a|b]]');
assert.deepStrictEqual(lastChild.cloneNode(), lastChild);

setTarget

展开

param: string
设置链接目标。

// setTarget (main)
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a]]');
assert.equal(lastChild, '[[a]]');
lastChild.setTarget('b');
assert.equal(lastChild, '[[b]]');
lastChild.setTarget('category:c');
assert.equal(lastChild, '[[category:c]]');

setFragment

展开

param: string
设置fragment。

// setFragment (main)
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a#a]]');
assert.equal(lastChild, '[[a#a]]');
lastChild.setFragment();
assert.equal(lastChild, '[[A]]'); // 这个方法会同时规范化页面名
lastChild.setFragment('b');
assert.equal(lastChild, '[[A#b]]');

setLinkText

展开

param: string
移除无效的链接显示文字。

// setLinkText (main)
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a|b]]');
assert.equal(lastChild, '[[a|b]]');
lastChild.setLinkText();
assert.equal(lastChild, '[[a]]');
Clone this wiki locally