Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript(而不是CSS)获取链接标记的内容_Javascript_Dom_Link Tag - Fatal编程技术网

使用JavaScript(而不是CSS)获取链接标记的内容

使用JavaScript(而不是CSS)获取链接标记的内容,javascript,dom,link-tag,Javascript,Dom,Link Tag,假设我有 <LINK rel="Index" href="index.html"> <LINK rel="Next" href="Chapter3.html"> <LINK rel="Prev" href="Chapter1.html"> 取自网站样本 这些是否可以通过JavaScript DOM访问 我想知道我在HTML文档中是否有这

假设我有

<LINK rel="Index" href="index.html">
<LINK rel="Next"  href="Chapter3.html">
<LINK rel="Prev"  href="Chapter1.html">
取自网站样本

这些是否可以通过JavaScript DOM访问

我想知道我在HTML文档中是否有这样的链接标记,它们是否像主文档一样读取并添加到DOM中,以及我是否可以访问它们的DOM。

试试这个-前两个是JSFIDLE链接-页面上不会有它们:

var links = document.getElementsByTagName("link");
for ( var i = 0; i < links.length; i++ ) {
    alert( links[i].getAttribute("rel") + ' : ' + links[i].getAttribute("href") );
}​
我有以下代码:

<script type="text/javascript">
var your_url = 'http://www.example.com';
</script>

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" ></script>
<script type="text/javascript">
// jquery.xdomainajax.js  ------ from padolsey

jQuery.ajax = (function(_ajax){

    var protocol = location.protocol,
        hostname = location.hostname,
        exRegex = RegExp(protocol + '//' + hostname),
        YQL = 'http' + (/^https/.test(protocol)?'s':'') + '://query.yahooapis.com/v1/public/yql?callback=?',
        query = 'select * from html where url="{URL}" and xpath="*"';

    function isExternal(url) {
        return !exRegex.test(url) && /:\/\//.test(url);
    }

    return function(o) {

        var url = o.url;

        if ( /get/i.test(o.type) && !/json/i.test(o.dataType) && isExternal(url) ) {

            // Manipulate options so that JSONP-x request is made to YQL

            o.url = YQL;
            o.dataType = 'json';

            o.data = {
                q: query.replace(
                    '{URL}',
                    url + (o.data ?
                        (/\?/.test(url) ? '&' : '?') + jQuery.param(o.data)
                    : '')
                ),
                format: 'xml'
            };

            // Since it's a JSONP request
            // complete === success
            if (!o.success && o.complete) {
                o.success = o.complete;
                delete o.complete;
            }

            o.success = (function(_success){
                return function(data) {

                    if (_success) {
                        // Fake XHR callback.
                        _success.call(this, {
                            responseText: data.results[0]
                                // YQL screws with <script>s
                                // Get rid of them
                                .replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, '')
                        }, 'success');
                    }

                };
            })(o.success);

        }

        return _ajax.apply(this, arguments);

    };

})(jQuery.ajax);



$.ajax({
    url: your_url,
    type: 'GET',
    success: function(res) {
        var text = res.responseText;
        // then you can manipulate your text as you wish
        alert(text);
    }
});

</script>

发送ajax请求以检索其内容?不确定是否要获取“链接”标记或该链接标记引用的文件内容。我想知道HTML文档中是否有类似的链接标记,它们是否像主文档一样读取并添加到DOM中,以及我是否可以访问它们的DOM。是的,我可以这样做,但我没有不知道我是否可以访问href的实际DOM。我知道我可以通过一个ajax调用来实现这一点,但也许浏览器已经在这么做了。但这似乎并不适用于所有URL。我在尝试将其用于url时出错=有什么想法吗?为什么?我认为这是有限的。它因为某种原因停止工作。我被拒绝执行来自的脚本'https://github.com/padolsey-archive/jquery.fn/blob/master/cross-domain-ajax/jquery.xdomainajax.js'因为其MIME类型“text/html”不可执行,并且启用了严格的MIME类型检查。在铬上。