簡體   English   中英

加載后向外部網頁添加 HTML/JS 代碼

[英]Add HTML/JS code to external web page after it has loaded

是否可以加載像“ http://www.google.com ”這樣的外部網頁,然后將我自己的 HTML/JS 代碼附加到它的末尾(例如運行一個函數)?? 當然有一種方法可以加載外部頁面然后在它之后添加一點我自己的代碼? 像這樣的東西:

<html>

<script>

document.location.href="http://www.google.com/"; //Load external page

function myscript() {
...blahblah
}
</script>

<button onclick="myscript();">Click me</button>

</html>

我希望該按鈕位於外部頁面的底部。 請不要在 php 中建議解析方法。 我已經嘗試通過首先在 php 中解析頁面然后將我自己的腳本附加到它並按照我在此處描述的進行回顯來做到這一點: 重定向后將 HTML 附加到頁面

這適用於沒有重定向或可以正確解析最終外部頁面的簡單頁面。 問題是我無法正確解析外部頁面。 如果沒有前幾頁的代碼(重定向之前),解析的代碼似乎無法運行。 我需要在不解析/抓取/爬行的情況下執行此操作。

謝謝!


編輯:我已經嘗試按照 Amadan 的建議在 iframe 中顯示外部頁面:

<script>

function myscript() {
...blahblah
}
</script>

<iframe src="http://www.google.com/"></iframe>
<button onclick="myscript();">Click me</button>

</html>

但是,在 Firefox 中它只顯示一個空白框,但在 IE 中它說“此內容不能在框架中顯示:為了幫助保護您輸入到此網站的信息的安全性,此內容的發布者不允許顯示該內容在一個框架內。”

有什么辦法可以解決這個問題嗎?


編輯2:

我在這里包含了 jquery 和跨域腳本( https://github.com/padolsey/jquery.fn/blob/master/cross-domain-ajax/jquery.xdomainajax.js )。 這是我現在使用 ajax 獲取內容的代碼。 我將如何從那個轉到實際顯示網頁中的內容? 對不起,我對 ajax/jquery 真的很糟糕!

   function test () {
     $.ajax({
       url: 'http://www.google.com/',
       type: 'GET',
       success: function(res) {
         var content = $(res.responseText).text();
         alert(content);
       }
     });
   }

除非安裝瀏覽器擴展程序(然后僅適用於安裝了擴展程序的客戶端),否則您無法將任何內容附加到您無法控制的頁面。

可以在自己的頁面中包含您無法控制的頁面內容(主要有兩種方式:客戶端iframe和服務器端拉取),但您似乎在說這不是您想要的。

嘗試這樣的事情:

  var html = '';

  $.ajax({
      uri: 'http://ya.ru',
      method: 'POST',
      success: function(data){
          htmlx = data;
      }
  });

關於在變量中操作 html

var test = $("<div/>");
test.append(html);

test.find(".innertest");

// When I'm ready to append it..

$('#container').append(test);

如果它不起作用,您可以使用服務器上的另一個頁面來獲取遠程頁面並使用 ajax 來請求它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM