Hướng dẫn javascript open another page - javascript mở một trang khác

Tôi đang làm việc trên một trang web và nghĩ đến việc giảm số lượng trang bằng cách viết một chút dòng trong JavaScript. Tôi có một bảng trên một trang dẫn bạn đến 15 trang khác. Vì vậy, tôi đã nghĩ đến việc mở một trang có tất cả thông tin của 15 trang kết hợp và hiển thị nội dung tùy thuộc vào liên kết nào nhấp vào bảng. Một trong những dữ liệu bảng của tôi như dưới

<td><a style="color:black;" onClick="openCompiler()">C++ Compiler</a></td>

Tôi đang kích hoạt một cuộc gọi sự kiện

function openCompiler()
{
    window.open("mypage.html")
    document.getElementById(compiler).style.display="block";
}
0 khi liên kết được nhấp.

function openCompiler()
{
    window.open("mypage.html")
    document.getElementById(compiler).style.display="block";
}

Trong trang tôi có một trình bao bọc (được gọi là trình biên dịch) ban đầu không có màn hình nhưng khi liên kết được nhấp, nó sẽ mở trang và hiển thị trình bao bọc (được gọi là trình biên dịch).

Những nỗ lực trên của tôi đã thất bại và đang tìm kiếm một cách khác như:

1)

function openCompiler()
{
    window.open("mypage.html")
    document.getElementById(compiler).style.display="block";
}
1 không thể mở tệp HTML trên thư mục của tôi.
function openCompiler()
{
    window.open("mypage.html")
    document.getElementById(compiler).style.display="block";
}
1 is not able to open an HTML file on my folder.

2 Tôi không chắc chắn nếu

function openCompiler()
{
    window.open("mypage.html")
    document.getElementById(compiler).style.display="block";
}
2 đang tìm kiếm phần tử gọi là trình biên dịch trong trang hiện tại. I am not sure if the
function openCompiler()
{
    window.open("mypage.html")
    document.getElementById(compiler).style.display="block";
}
2 is looking for the element called compiler in the current page.

Những gì tôi đang tìm kiếm:

1) Cách mở trang HTML khác bằng JavaScript. A way to open another html page using javascript.

2) Cách đặt kiểu của một phần tử trên trang mới từ trang ban đầu (một với bảng). A way to set style of an element on the new page from the initial page(one with the table).

Tất cả sự giúp đỡ đều được đánh giá cao :)

Hỏi ngày 28 tháng 12 năm 2014 lúc 7:17Dec 28, 2014 at 7:17

7

Nếu bạn đang cố gắng mở tệp HTML, từ cùng một thư mục, bạn có thể sử dụng mã JavaScript sau:

 location.replace("./name_of_the_file.html")

Đừng quên các trích dẫn kép. Nếu bạn muốn mở một trang web khác, bạn có thể sử dụng mã JavaScript sau:

 location.replace("https://stackoverflow.com")

Đã trả lời ngày 22 tháng 8 năm 2020 lúc 4:36Aug 22, 2020 at 4:36

Ashiq Firozashiq FirozAshiq Firoz

1112 Huy hiệu bạc4 Huy hiệu đồng2 silver badges4 bronze badges

Vâng, có một số vấn đề ở đây :)

1) Nhảy đến một trang mới bằng cách sử dụng

function openCompiler()
{
    window.open("mypage.html")
    document.getElementById(compiler).style.display="block";
}
3 (hãy nhớ các trích dẫn kép, cũng làm như vậy)

2) Bạn dường như quên mất lời trích dẫn gấp đôi:

function openCompiler()
{
    window.open("mypage.html")
    document.getElementById(compiler).style.display="block";
}
4

3) Bạn không thể tham khảo phần tử "trình biên dịch" từ chức năng của mình vì khi bạn đến đó, bạn đã tải trang mới. Bạn có thể làm điều gì đó như thế này:

window.location="mypage.html?id=compiler"

Và trong myPage.html của bạn:

<head>
<script>
function display() {
  var id = parseURL();
  document.getElementById(id).style.display="block";
}
function parseURL() {
   refer to: https://stackoverflow.com/questions/831030/how-to-get-get-request-parameters-in-javascript
}
</script>
</head>
<body onload="display()">
....

Ý tưởng là chuyển ID của phần tử sẽ được hiển thị đến trang mới thông qua tham số GET và sau đó lấy lại từ URL trong trang mới. Tham khảo cách nhận các tham số yêu cầu "Nhận" trong JavaScript?

Mauro

Đã trả lời ngày 28 tháng 12 năm 2014 lúc 8:02Dec 28, 2014 at 8:02

Điều này không thể hoạt động theo cách bạn thiết kế nó. Theo định nghĩa, việc tải tài liệu mới trong cửa sổ mới không đồng bộ, xem tại đây https://developer.mozilla.org/en-us/docs/web/api/window.open

Vì vậy, cài đặt của một kiểu ngay sau cuộc gọi "Mở" phải không thành công, vì tài liệu có phần tử theo ("trình biên dịch") không được tải vào thời điểm đó và có khả năng sẽ không.

Những gì bạn thực sự có thể làm là, tải tài liệu và chờ sự kiện

function openCompiler()
{
    window.open("mypage.html")
    document.getElementById(compiler).style.display="block";
}
5, nhưng chỉ trong cửa sổ mới và thực hiện tất cả các cài đặt ở đó. Bạn cũng có thể tạo tài liệu từ cửa sổ nguồn như thế này:

newWindow = window.open("", "Compiler", "" );
doc = newWindow.document;
doc.open("text/html","replace");
doc.writeln('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">');
doc.writeln("<html>");
doc.writeln("<head>");
....
doc.writeln("</html>");
doc.close();

chỉ là một ý tưởng để tiến hành.

Đã trả lời ngày 28 tháng 12 năm 2014 lúc 7:34Dec 28, 2014 at 7:34

Axel Amthoraxel AmthorAxel Amthor

10,9k1 Huy hiệu vàng24 Huy hiệu bạc44 Huy hiệu đồng1 gold badge24 silver badges44 bronze badges

1

Từ bỏ

function openCompiler()
{
    window.open("mypage.html")
    document.getElementById(compiler).style.display="block";
}
6:

Tạo iframe:

var compiler = document.createElement('iframe');
compiler.src = "mypage.html";
compiler.id = "compiler";

Đặt nó ở nơi bạn muốn nó trở thành:

document.getElementById("compilercontainer").appendChild(compiler);

Thay đổi nó:

compiler = document.getElementById("compiler");
var comdoc = compiler.contentWindow.document;
var style = comdoc.createElement('style');
style.innerHTML = ".foo {color:orange}";
comdoc.head.appendChild(style);

Điều này có thể được làm gọn hơn với jQuery, nhưng điều đó không được gắn thẻ (và tôi hiểu sự thao túng của JS Dom thuần túy tốt hơn, cá nhân)

Đã trả lời ngày 28 tháng 12 năm 2014 lúc 7:31Dec 28, 2014 at 7:31

Lucasemlucasemlucasem

4713 Huy hiệu bạc11 Huy hiệu đồng3 silver badges11 bronze badges

1

Làm cách nào để mở một tệp HTML mới trong JavaScript?

Cách mở tệp HTML với JavaScript..

// Trong trường hợp của tôi, tôi đã sử dụng một nút để kích hoạt chức năng này:.

hàm myFunction () {.

cửa sổ. địa điểm. href = 'index.html' ;.

Làm cách nào để truy cập vào tệp HTML khác trong HTML?

Cách để - bao gồm HTML..

HTML. Lưu HTML bạn muốn đưa vào tệp .html: content.html. ....

Bao gồm HTML. Bao gồm HTML được thực hiện bằng cách sử dụng thuộc tính W3-HTML-HTML: Ví dụ. ....

Thêm JavaScript. HTML bao gồm được thực hiện bởi JavaScript. Thí dụ. ....

Bao gồm nhiều đoạn HTML. Bạn có thể bao gồm bất kỳ số lượng đoạn trích HTML nào:.

Làm cách nào để mở một trang khác trong JavaScript?

Để mở một tab mới, chúng ta phải sử dụng _blank trong tham số thứ hai của phương thức window.open (). Giá trị trả về của cửa sổ. Open () là một tham chiếu đến cửa sổ mới được tạo hoặc tab hoặc null nếu nó thất bại.use _blank in the second parameter of the window. open() method. The return value of window. open() is a reference to the newly created window or tab or null if it failed.

Làm cách nào để mở một trang HTML từ một trang khác?

Liên kết trong mã HTML được thực hiện với thẻ neo, thẻ. Chữ "A" trong thẻ sau đó được theo sau bởi một thuộc tính. Đối với một liên kết đến một trang web khác, "A" được theo sau bởi "href".For a link to another web page, the "A" is followed by "HREF".