2016-10-27 15 views
5

Tôi đang xây dựng Tiện ích mở rộng hành động trình duyệt Chrome.Tiện ích mở rộng của Chrome - Không có cơ sở href nào được đặt. Vui lòng cung cấp giá trị cho APP_BASE_HREF

Tôi đang cố tải ứng dụng Angular 2 vào Cửa sổ bật lên trong Chrome.

Tôi đã làm điều này trước khi sử dụng Angular 1.5, nhưng cố gắng với Angular 2 và nhận được một lỗi.

Unhandled Promise rejection: No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document. ; Zone: ; Task: Promise.then ; Value: Error: No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.(…) Error: No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.

Tôi đã đặt thẻ <base href="/"> vào popu.html của mình. Nhưng vấn đề là do vendor.js và main.js được Chrome tải xuống bên dưới (và trước khi được tải lên bởi popup.html) và do đó không có trang HTML để đặt <base href="/">

Chỉ cần tự hỏi làm thế nào tôi có thể giải quyết vấn đề này vấn đề.

Popup.html

enter image description here

<!doctype html> 
<html> 
<head> 
    <base href="/"> 
    <meta charset="utf-8"> 
    <title>FountainJS</title> 
    <meta name="description" content=""> 
    <meta name="viewport" content="width=device-width"> 
    <link rel="icon" type="image/png" href="http://fountainjs.io/assets/imgs/fountain.png"/> 
    <link href="../styles/popup.css" rel="stylesheet"> 
</head> 

<body> 
<div style="width: 200px; height: 150px;"> 
<fountain-root>My Awesome Chrome Popup should load with Angular 2 right Here</fountain-root> 
<script type="text/javascript" src="../scripts/vendor.js"></script> 

<script type="text/javascript" src="../scripts/main.js"></script> 
</div> 
</body> 
</html> 
+1

Tôi không hiểu. Bạn đang hiển thị bảng điều khiển cho tab đang mở, KHÔNG phải cửa sổ bật lên. Do đó, các lỗi bạn thấy là từ tập lệnh nội dung. Bạn cần phải gợi ý "Kiểm tra popup" từ trình đơn ngữ cảnh của trình duyệt để xem điều gì xảy ra trong cửa sổ bật lên. – Xan

+0

Cảm ơn Xan, quyền của bạn, tôi đã hiểu nhầm về cửa sổ bật lên so với tập lệnh nội dung và vì vậy tôi đã có một số vấn đề xảy ra ở trên và ngoài vấn đề APP_BASE_HREF –

Trả lời

19

Bạn có thể thiết lập các cơ sở href trong mã thay vì

import { APP_BASE_HREF } from '@angular/common'; 

@NgModule({ 
    providers: [ 
    { provide: APP_BASE_HREF, useValue: '/' } 
    ] 
}) 
class AppModule {} 
+0

cảm ơn bạn rất nhiều! – commonSenseCode

Các vấn đề liên quan