js isexternal方法的用法
时间: 2023-12-01 11:04:06 浏览: 36
`isExternal()` 方法用于判断一个 URL 是否为外部链接,即是否为当前网站之外的链接。它的实现方式一般是通过判断 URL 的协议(protocol)和主机名(hostname)是否与当前网站相同来进行判断。
以下是一个简单的 `isExternal()` 方法的实现:
```javascript
function isExternal(url) {
const host = window.location.hostname;
const urlHost = new URL(url).hostname;
return url.startsWith('http') && host !== urlHost;
}
```
使用方法:
```javascript
const link = document.querySelector('a');
if (isExternal(link.href)) {
// 外部链接
// ...
} else {
// 内部链接
// ...
}
```
相关问题
Vue.js的isExternal()方法
Vue.js没有内置的isExternal()方法,通常是在使用Vue.js时,自己编写这个方法。这个方法的作用是检查一个链接是否为外部链接。可以通过判断链接的协议和主机名来确定一个链接是否为外部链接。以下是一个可能的实现:
```javascript
function isExternal(url) {
return /^https?:\/\//.test(url) && !new RegExp('^https?://'+ location.hostname.replace('www.','') +'/').test(url);
}
```
该方法会返回一个布尔值,如果传入的url是一个外部链接,则返回true,否则返回false。
怎么在外部js文件中使用this.$alert
在外部js文件中使用this.$alert需要先引入Vue.js,因为`this`关键字只能在Vue实例中使用,而`$alert`是Vue实例的一个方法。可以按照以下步骤进行:
1. 在HTML文件中引入Vue.js:
```html
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
```
2. 在HTML文件中引入外部js文件:
```html
<script src="path/to/your/external.js"></script>
```
3. 在外部js文件中使用Vue.js:
```javascript
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
},
methods: {
showAlert: function() {
this.$alert('This is an alert message.');
}
}
})
```
在上面的代码中,我们定义了一个Vue实例,并在其中定义了一个`showAlert`方法,该方法调用了`this.$alert`方法。在HTML文件中,我们需要有一个id为`app`的元素来挂载Vue实例。
这样,在外部js文件中就可以使用`this.$alert`方法了。当然,前提是你的Vue实例已经正确地初始化并且`this`指向了该实例。